> 文章列表 > Qt交叉编译环境搭建

Qt交叉编译环境搭建

Qt交叉编译环境搭建

环境及版本

编译机:Deepin 20.3 Qt 5.12.9

arm编译工具: gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-gnueabihf.tar.xz

运行机:创龙335X开发板

1.下载arm编译工具:  gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-gnueabihf.tar.xz,下载路径Linaro Releases。解压(编译工具所使用的glibc版本要和目标arm开发板的glibc版本一致,否则程序不能运行,此开发目前版本为glibc2.23)

2.  下载tslib-1.21.tar.gz,并解压,进入目录tslib-1.21,执行命令 

sudo ./configure --host=arm-linux-gnueabihf --cache-file=tmp.cache CC=/home/TME/gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
sudo make -j4 
sudo make install 

3.下载Qt源码:qt-everywhere-src-5.12.9.tar.xz,并解压

3.编辑qt-everywhere-src-5.12.9/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf,把arm-linux-gnueabi-gcc之类文件的全部加上步骤2中bin目录的路径前缀,并且所有arm-linux-gnueabi-xxx中的gnueabi变成gnueabihf

 4.进入qt-everywhere-src-5.12.9 目录,执行

./configure -shared -opensource -confirm-license -release -strip -xplatform linux-arm-gnueabi-g++ -optimized-qmake -c++std c++11 -pch -skip qt3d -skip qtcanvas3d -skip qtdatavis3d -skip qtdoc -skip qtlocation -skip qttools -skip qtwayland -skip qtwebengine -skip qtmacextras -skip qtwinextras -skip qtandroidextras -skip qtx11extras -make libs -make examples -nomake tools -nomake tests -no-openssl -no-opengl -no-sql-sqlite -linuxfb -qt-freetype --harfbuzz=qt --pcre=qt --zlib=qt --libpng=qt --libjpeg=qt -tslib -I /usr/local/include -L /usr/local/lib(根据需要精简)

注意:如果编译为静态库,则第一个参数为-static,动态库,则第一个参数为-shared

5.执行sudo make -j4;sudo make install,完成后安装在/usr/local/目录下

6.安装qtcreator

7.在工具->选项->编译器中配置步骤2中的对应编译工具

8.在Qt version中配置sdk位置

9.在构建套件中选择上面配置的选项

 10.至此,可在Qtcreator中新建项目,并把编译出的程序放到arm开发板上运行