交叉編譯Qt5.8
阿新 • • 發佈:2019-01-08
arm平臺:BeagleBone Black
編譯平臺:ubuntu16.04
交叉編譯工具:arm-Linux-gnueabihf
設定arm-linux-gnueabihf路徑
- ~$ vim ~/.bashrc
向檔案中加入如下一行
- export PATH=$PATH:~/gcc-linaro-4.9-arm-linux-gnueabihf/bin
儲存並退出檔案,重新整理
- ~$ source ~/.bashrc
配置並編譯qt
修改qt支援arm-linux-gnueabihf交叉編譯工具
-
~$ tar -xzf qt-everywhere-opensource-src-5.8.0.tar.gz
- ~$ cd qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs
- ~/qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs$ cp -r linux-arm-gnueabi-g++/ linux-arm-gnueabihf-g++
- ~/qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs/linux-arm-gnueabihf-g++$ vim qmake.conf
把檔案中的arm-linux-gnueabi替換為arm-linux-gnueabihf,如下內容
-
#
- # qmake configuration for building with arm-linux-gnueabihf-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 = arm-linux-gnueabihf-gcc
- QMAKE_CXX = arm-linux-gnueabihf-g++
- QMAKE_LINK = arm-linux-gnueabihf-g++
- QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++
- # modifications to linux.conf
- QMAKE_AR = arm-linux-gnueabihf-ar cqs
- QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
- QMAKE_NM = arm-linux-gnueabihf-nm -P
- QMAKE_STRIP = arm-linux-gnueabihf-strip
- load(qt_config)
配置qt
- ~/qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs/linux-arm-gnueabihf-g++$ cd ~/qt-everywhere-opensource-src-5.8.0
- ~/qt-everywhere-opensource-src-5.8.0$ ./configure -prefix $PWD/qtbase -opensource -xplatform linux-arm-gnueabihf-g++ -no-opengl -nomake examples
編譯qt
- ~/qt-everywhere-opensource-src-5.8.0$ make -j4
編譯完成後在Qt Creator內設定qmake路徑,就可以使用了