Qt开发--arm开发主机环境部署问题总结
主机部署步骤
- 配置交叉编译器
- 下载qt源码包(注意是源码包,不是安装包),下载对应的版本。Qt官方网站
https://download.qt.io/archive/
这里需要注意的是网站提供2种源码压缩包ZIP /tar.xz。在Linux平台一定要下载tar.xz,不然在配置过程就会报错。据说zip压缩包是在windows平台下使用,字符编码有差异。 - 解压源码,配置qt,make,make install
- QtCreator添加构建套件
问题一: Qt源码包差异
./configure
不能使用,报错
问题二:配置时指定交叉编译器,报错
Invalid target platform 'aarch64-linux-gnu-g++'
//-xplatform linux-aarch64-gnu-g++ //该写法正确,原因不详
问题三:其他都配置完成后,QtCreator构建工程时报错
libQt5Core.so: undefined reference to `getentropy@GLIBC_2.25'
该问题是由于用x86平台构建后,构建环境导致。把工程和源码单独放入新文件夹重新构建,或是删除文件夹下的.文件或文件夹
问题四:qt源码多次make,make install不成功
建议删除重新再来(不知道怎么清理make缓存)
最后附上Qt配置选项
./configure -extprefix /opt/arm-qt \
-recheck-all \
-release \
-strip \
-shared \
-xplatform linux-aarch64-gnu-g++ \
-optimized-qmake \
-c++std c++11 \
--rpath=no \
-skip qtdoc \
-pch \
-make libs \
-nomake tools -nomake tests \
-gui \
-widgets \
-dbus-runtime \
-no-opengl \
--iconv=no \
--pcre=qt \
--zlib=qt \
--freetype=qt \
--harfbuzz=qt \
-linuxfb \
--xcb=no \
-tslib \
--libpng=qt \
--libjpeg=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-I/home/sun/Documents/tslib-1.22/arm-tslib/include \
-L/home/sun/Documents/tslib-1.22/arm-tslib/lib \