完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
我需要准备在Windows上编写的Qt程序,因此需要提前将注意它复制到系统下。注意把文件里的图片也拷贝过去。
Linux:Ubuntu 16.04 Qt版本:5.9.4 一、交叉编译器必须准备 下载交叉编译器 !这里的交叉编译器是你的目标开发板匹配的交叉编译工具在下载之前,要先查清你的libc版本。glib是gnu发布的运行libc库,也是c库。glib是linux系统中最即c的capi(应用程序开发接口),几乎其他任何运行 ldd --version 显示的结果是 ldd (Ubuntu GLIBC 2.23-0ubuntu11.2) 2.23 Copyright (C) 2016 自由软件基金会。 这是一个自由软件;请见源代码的授权条款。本软件不含任何没有担保;甚至不保证适销性 或者适合某些特殊目的。 由 Roland McGrath 和 Ulrich Drepper 编写。 证明本机的 glibc 是 2.23,属于比较的版本 。此处提供的是最新版本的交叉编译,但它与本机的glibc版本不匹配。glibc版本查询到本机适用为cc-linaro-6.3.1。下载地址 安装 交叉编译工具将下载的交叉编译选择/opt。 //在下载目录下打开终端 sudo mv gcc-linaro-6.3.1-2018.12-x86_64_aarch64-linux-gnu.tar.xz /opt 复制完成后在/opt目录下输入命令。 tar -xvf gcc -linaro-6.3.1-2018.12-x86_64_aarch64-linux-gnu.tar.xz /opt/gcc-aarch64-linux-gnu 将文件解压并重命名为gcc-aarch64-linux-gnu,然后将/opt/gcc-aarch64 -linux-gnu/添加到环境变量中,输入命令。 然后输入以下命令使环境变量生效。 source /etc/profile 通过下面的命令来验证是否安装成功。 aarch64-linux-nu-gcc -v 若输出结果,证明交叉编译器安装成功。 Using built-in specs. COLLECT_GCC=aarch64-linux-gnu-gcc COLLECT_LTO_WRAPPER=/opt/gcc-aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/6.3.1/lto-wrapper Target: aarch64-linux-gnu Configured with: '/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/snapshots/gcc.git~linaro-6.3-2017.05/configure' SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-lto --enable-shared --without-included-gettext --enable-nls --disable-sjlj-exceptions --enable-gnu-unique-object --enable-linker-build-id --disable-libstdcxx-pch --enable-c99 --enable-clocale=gnu --enable-libstdcxx-debug --enable-long-long --with-cloog=no --with-ppl=no --with-isl=no --disable-multilib --enable-fix-cortex-a53-835769 --enable-fix-cortex-a53-843419 --with-arch=armv8-a --enable-threads=posix --enable-multiarch --enable-libstdcxx-time=yes --enable-gnu-indirect-function --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/sysroots/aarch64-linux-gnu --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu/aarch64-linux-gnu/libc --enable-checking=release --disable-bootstrap --enable-languages=c,c++,fortran,lto --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=aarch64-linux-gnu --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/builder_arch/amd64/label/tcwg-x86_64-build/target/aarch64-linux-gnu/_build/builds/destdir/x86_64-unknown-linux-gnu Thread model: posix gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05) 交叉编译Qt二库 首先在官网下载qt-everywhere-opensource-src-5.9.4.tar.xz, 将下载的压缩包复制到/opt目录下, tar -xvf qt-everywhere-opensource src-5.9.4.tar.xz - 然后编辑linux-aarch64-gnu-g++的qmake.conf文件。aarch64-gnu-g++是RK3399 Pro使用的编译器。 sudo gedit /opt/qt-everywhere-opensource-src -5.9.4/qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf 在打开的文件中添加如下内容 QT_QPA_DEFAULT_PLATFORM = linuxfbQMAKE_CFLAGS_RELEASE += -O2 -march=armv8-a -ltsQMAKE_CXXFLAGS_RELEASE += -O2 -march= v8-a -lt arm/各种添加 点击保存,然后在opt /qt-everwhere-opensource-src- 5.9.4下输入 sudo gedit auto.sh新建的auto.sh为交叉编译自动配置脚本,在其中以下内容 #!/bin/sh ./configure -prefix /opt/qt5.9.4-arm -confirm-license -opensource -release -make libs -xplatform linux-aarch64-gnu-g++ -pch -qt-libjpeg -qt-libpng -qt-zlib -no-opengl -no-sse2 -no-openssl -no-cups -no-glib -no-dbus -no-separate-debug-info 其中/opt/qt5.9.4-arm 为编译后的安装目录,-xplatform linux-aarch64-gnu-g++为交叉编译相关选择。 接着文件权限并执行。 sudo chmod u+x auto.sh ./auto.sh 的结果并生成生成文件。 接着 //-j 是性能结果并在生成文件的时候生成。 make -j64 这里需要出现执行长的命令。 然后输入。 sudo make install 执行成功后,可以/opt 看到目录了我们比较指定的安装/opt/qt5.9.4-arm,表示安装成功。 三、在QtCreator上交叉编译 安装QtCreator 在官网下载qt-opensource-linux-x64-5.9.4.run, 把下载下来的文件/选择下。 //在下载目录下打开终端 sudo mv qt-opensource-linux-x64-5.9.4.run /opt 输入命令。 1. sudo chmod u+x qt-opensource-linux-x64-5.9.4.run2。5.9.4.运行提示,然后,选择 安装完成后,在点击图标-输入。 cd /opt/Qt5.9.4/ToolsQt5.9.4/ToolsQt5.9.4/ToolsQtercator/bin./qtercator 结果如下: *可根据需要锁定到器启动。 在工具-选项添加交叉编译器。在以下位置手动添加路径,选择中前面下载的交叉编译器编译器位置,GCC和G++都要添加。 然后在Qt版本选择Qt版本,路径为交叉编译后安装的qt路径需要如下图所示。 这里可以指定多个Qt版本,在PC上调试代码,可以安装Linux的Qt环境并添加在这里。 最后在套件栏添加项目套件,如下图所示,包括名称、设备类型、编译、Q版本等信息,如下图所示。 如果有多个四、在开发板项目运行 通第一个Qt程序 开发时,在栏的灰色环境直接添加,以后编译时就可以很方便地切换环境。 到开发板,通过ssh发送。在开发板这里输入 scp发送者id@发送者ip:发送文件路径接收文件路径//例如:~/example./ 发送文件前可能要关闭PC端的防火墙。 systemctl stop ufw发送后,需要将安装目录下的include、lib、plugins添加到开发板的环境变量中。 输入 sudo gedit /etc/profile export QTEDIR =/opt/qt5.9.4-arm/export LD_LIBRARY_PATH=$plugTEDQIR/lib:$LD_LIBARAY_PATHexport QT_QPA_PLATFORM_PLUGIN_PATH=$QTEDIR/PLUGIN_PATH=$QTEDIR/PLUGIN_PATH=$QTEDIR/PLUGIN_PATH=$linuxfbexport QT_QPA_FDIR=/usr/share /fonts/truetype/droid 然后,输入让环境变量保存生效。 source /etc/profile 程序最好重新启动一下。 执行 Qt 在 QtCreator 交叉编译你的 Qt 程序,注意,编译后的程序无法在 PC 上运行的!成功后默认在生成一个Debug文件,如“build-XXX-Debug”,然后里面有一个统计会输入的目录文件,将它发送到开发板上。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1657 浏览 1 评论
synopsys 的design ware:DW_fpv_div,浮点数除法器,默认32位下,想提升覆盖率(TMAX),如果用功能case去提升覆盖率呢?
1961 浏览 1 评论
RK3588 GStreamer调试四路鱼眼摄像头四宫格显示报错
4911 浏览 1 评论
【飞凌嵌入式OK3576-C开发板体验】RKNN神经网络-YOLO图像识别
254 浏览 0 评论
【飞凌嵌入式OK3576-C开发板体验】SSH远程登录网络配置及CAN通讯
1336 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-13 11:39 , Processed in 0.560383 second(s), Total 70, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号