Qt交叉编译注意事项:
- 若在configure或者make过程中遇到了错误,进行一定的方法修改后建议重新解压Qt源码进行测试,否则有可能解决方法是有效的,但是在当前已错的情况下编译仍然会报错,不要想着使用QT的make clean和make distclean。实测无效。
- configure出错的情况下可以查看config.log文件。有时候config.log文件内容只是你写的configure配置参数,建议重新解压源码configure后若还是错误则查看config.log。实测,一般进行过一次configure之后再次configure的话,config.log中的内容就是configure编译参数。
- make过程中出错建议网上翻看编译信息,可能有错误提示已经建议解决办法。
1. 解压
sudo tar xvf qt-everywhere-opensource-src-5.9.7.tar.xz
2. 配置Qt工具链
修改qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf文件配置工具链
# # qmake configuration for building with arm-linux-gnueabi-g++ # MAKEFILE_GENERATOR = UNIX ConFIG += incremental QMAKE_INCREMENTAL_STYLE = sublib include(../common/linux.conf) include(../common/gcc-base-unix.conf) include(../common/g++-unix.conf) # modifications to g++.conf QMAKE_CC = /home/pgs/toolChain/bin/arm-linux-gnueabihf-gcc -lts QMAKE_CXX = /home/pgs/toolChain/bin/arm-linux-gnueabihf-g++ -lts QMAKE_link = /home/pgs/toolChain/bin/arm-linux-gnueabihf-g++ -lts QMAKE_link_SHLIB = /home/pgs/toolChain/bin/arm-linux-gnueabihf-g++ -lts # modifications to linux.conf QMAKE_AR = /home/pgs/toolChain/bin/arm-linux-gnueabihf-ar cqs QMAKE_OBJCOPY = /home/pgs/toolChain/bin/arm-linux-gnueabihf-objcopy QMAKE_NM = /home/pgs/toolChain/bin/arm-linux-gnueabihf-nm -P QMAKE_STRIP = /home/pgs/toolChain/bin/arm-linux-gnueabihf-strip load(qt_config)
3. configure配置
不同的要求配置不一样,根据自己的需要查看./configure -h,我本次使用的配置如下:
#!/bin/sh ./configure --prefix=/home/pgs/Qt5.9.7_Arm -opensource -/confirm/i-license -xplatform linux-arm-gnueabi-g++ -release -v -pch -sql-sqlite -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -no-glib -no-sse2 -no-cups -no-opengl -no-iconv -nomake examples -skip qtdoc -skip qtandroidextras -skip qtpurchasing -skip qtgamepad -skip qtsvg -skip qtwebchannel -skip qtwebengine -tslib -I/home/pgs/tslib1.19_Arm/include -L/home/pgs/tslib1.19_Arm/lib exit
QT官网的嵌入式配置例子:
./configure -release -opengl es2 -device linux-rasp-pi2-g++ -device-option CROSS_COMPILE=$TOOLCHAIN/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- -sysroot $ROOTFS -prefix /usr/local/qt5
4. make编译
sudo make
5. 安装
sudo make install
sudo make install



