打印
[牛人杂谈]

QT5静态编译工程(arm交叉编译)

[复制链接]
828|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yiy|  楼主 | 2020-2-12 22:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、首先,QT编译环境默认是动态库,要编译静态程序是不可能的,所以要下载QT源码,重新编译QT编译环境
2、下载QT源码(5.13版本):http://download.qt.io/development_releases/qt/5.13/5.13.0-rc/single/qt-everywhere-src-5.13.0-rc.tar.xz
3、编译QT前需先配置交叉编译器:
  解压源码后,进入源码的qtbase/mkspecs/linux-arm-gnueabi-g++目录,编辑里面的qmake.conf文件:
  将文件里的arm-linux-gnueabi-都改为你用的交叉编译器(带路径,如果不带路径则需设置好PATH变量)比如改为:arm-linux-gnueabihf-
4、用静态方式编译并安装QT
  在源码目录下执行如下命令:  
  ./configure -v -prefix /home/wch/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
  make
  make install
  其中/home/wch/QT-5-arm是安装目录,根据你的情况指定;-static是指定为静态编译;-xplatform linux-arm-gnueabi-g++是说明目标平台是arm,其它参数根据自己的情况自行修改,各参数的含义可以用./configure --help命令查看
  经过上面三步,就在指定的/home/wch/QT-5-arm目录下生成的QT的编译环境,该环境的bin目录下有qmake程序。
5、编译你的工程
  假设你的工程名称是t1.pro,用如下命令编译:
    qmake -o Makefile t1.pro
    make
  则会生成静态程序,一个最简单的窗口程序大约10M。
  用命令t1 -platform linuxfb运行,但是运行时会发现报错:Could not find the Qt platform plugin "linuxfb"
  在t1.pro工程文件里添加一行:QTPLUGIN += qlinuxfb
  再用之前的命令重新编译一下,运行成功!  

使用特权

评论回复
沙发
捉虫天师| | 2020-2-12 22:08 | 只看该作者
看起来不错,学习学习。

使用特权

评论回复
板凳
zhuomuniao110| | 2020-2-13 11:27 | 只看该作者
多谢分享。

使用特权

评论回复
地板
天灵灵地灵灵| | 2020-2-13 11:41 | 只看该作者
没玩过这么高级的呢。

使用特权

评论回复
5
yiyigirl2014| | 2020-2-14 11:26 | 只看该作者
没学习平台。

使用特权

评论回复
6
晓伍| | 2020-3-4 14:40 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
7
玛尼玛尼哄| | 2020-3-7 22:44 | 只看该作者
感谢分享。

使用特权

评论回复
8
xuanhuanzi| | 2020-3-8 18:37 | 只看该作者
没玩过呢,在Windows上操作吗

使用特权

评论回复
9
幸福小强| | 2020-3-9 20:54 | 只看该作者
这是要在ARM上开发QT的程序?

使用特权

评论回复
10
antusheng| | 2020-3-12 10:02 | 只看该作者
这个一定要学。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

yiy

106

主题

1781

帖子

4

粉丝