Qt5静态编译_arm交叉编译
Linux平台
1.下载Qt源码
推荐下载5.13版本,在编译5.15版本时出现了各种问题,可能是我没配置好。
5.13版本源码(清华镜像源):https://mirrors.tuna.tsinghua.edu.cn/qt/development_releases/qt/5.13/5.13.0-rc/single/qt-everywhere-src-5.13.0-rc.tar.xz
2.配置交叉编译器
解压源码,进入源码的 qtbase/mkspecs/linux-arm-gnueabi-g++ 目录,编辑里面的 qmake.conf 文件
将文件里的 **arm-linux-gnueabi-**改为你用的交叉编译器,如 arm-linux-gnueabihf- ,并设置好 PATH 变量,我的设置如下
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
export PATH=$PATH:/home/mortal/data/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
3.静态编译并安装
配置
在源码目录执行如下命令:
./configure -v -prefix /home/mortal/Qt_5_arm -static -release -opensource -confirm-license -xplatform linux-arm-gnueabi-g++ -no-accessibility -no-dbus -no-openssl -no-opengl -no-glib -no-iconv -no-xcb -no-pch -no-compile-examples -no-pkg-config -skip qtquickcontrols -skip qtquickcontrols2 -skip qtsensors -skip qtdoc -skip qtwayland
- -release:编译release版本
- -prefix:指定安装目录,注意修改,安装后qmake程序默认就会根据这个目录路径去搜索头文件和库文件
- -static:指定为静态编译
- -xplatform:linux-arm-gnueabi-g++是说明目标平台是arm
- 其它参数根据自己的情况自行修改,各参数的含义可以用./configure --help命令查看
编译
make -j4
编译期间根据提示安装依赖。
安装
make install
经过上面三步,就在 prefix 指定的目录下生成的QT的编译环境,该环境的bin目录下有qmake程序。
4.配置Qt Creator
启动运行Qt Creator,菜单工具(Tools)->选项(options),打开设置对话框,切换到构建与运行(build and run)项。先添加交叉编译器,点击添加,找到交叉编译器路径,取个名称,如下图添加g++。添加gcc与g++类似。 设置Qt版本,点击添加,找到Qt库安装目录bin里的qmake.exe,取个名后添加,如下图 最后整合整套工具,设置构建套件,如下图,点击添加,取个名称,选择之前设置好的交叉编译器和Qt版本,点击Apply。 选择对应的套件后,可以编译ARM linux上的Qt程序,注意选择release。
5.编译示例
在.pro工程文件里添加一行:QTPLUGIN += qlinuxfb 。 用命令文件名 -platform linuxfb 运行
|