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

  再用之前的命令重新编译一下,运行成功!  

QT5静态编译工程(arm交叉编译)的更多相关文章

  1. QT5静态编译教程,主要针对vs2012(渡世白玉)

    QT5,VS2012静态编译,所有的库准备充分的话qwebkit也可以静态编译通过,但是我编译的版本使用中如果用了QWEBVIEW控件在连接时会出错. 注:我自己编译的环境是:win server 2 ...

  2. 编译Valgrind arm交叉编译

    1. 下载源码: http://valgrind.org/downloads/valgrind-3.9.0.tar.bz2   2. 加压缩: mkdir sw cd sw tar zxf valgr ...

  3. 【转帖】嵌入式4412开发板QT5.7编译安装到arm

    QT5.7.0+UBUNTU16.04+ARM-NONE-LINUX-GNUEABI4.8+busybox最小LINUX系统 Orandragon记录 本文转自迅为4412开发板群:http://to ...

  4. Qt5.4静态编译方法

    静态编译,就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so或.lib)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库.这样就可以发布单 ...

  5. Win7下静态编译QT5.12源码

    官方参考文档:https://doc.qt.io/qt-5/build-sources.html CSDN博客:https://blog.csdn.net/GG_SiMiDa/article/deta ...

  6. QT5.7静态编译(使用VS2013与VS2015编译,XP可用,有详细configure脚本。VS下Qt插件的配置。编译选项加上-mp可以开启多线程编译,编译速度提高2倍以上)

    http://blog.csdn.net/u011964923/article/details/52886908 configure -confirm-license -opensource -pla ...

  7. 交叉编译环境以及开发板上-/bin/sh: ./hello: not found(使用arm-linux-gcc -static -o 来进行静态编译)

    目标板是S3C2440.至于交叉编译环境的搭建就不多说了,网上很多教程. 搭建好了交叉编译环境后,第一件事就是传说中的”Hello,World!”. 一. 主机编译环节 我使用的系统是ubuntu10 ...

  8. 静态编译Qt5.4.1和Qt WebKit

    图灵社区文章地址:http://www.ituring.com.cn/article/195148WebKit是个好东西,做爬虫.显示网页还是想用HTML来做桌面应用的界面都可以用他,不过一直以来都觉 ...

  9. 静态编译Qt5.4.1和Qt WebKit(网事如风的blog)good

    blog文章地址:http://godebug.org/index.php/archives/133/ WebKit是个好东西,做爬虫.显示网页还是想用HTML来做桌面应用的界面都可以用他,不过一直以 ...

随机推荐

  1. 吴裕雄 python 人工智能——智能医疗系统后台用户注册、登录和初诊简约版代码展示

    #用户注册.登录模块 #数据库脚本 CREATE TABLE usertable( userid number(8) primary key not null , username varchar(5 ...

  2. 《MySQL命令执行过程和存储引擎概述》阅读笔记

    使用MySQL的完整过程: 启动MySQL服务器程序. 启动MySQL客户端程序并连接到服务器程序. 在客户端程序中输入一些命令语句发送到服务器程序,服务器程序收到这些请求后,会根据请求的内容来操作具 ...

  3. Centos610安装Archiva

    安装说明: https://www.cwiki.us/display/ArchivaZH/Linux+Installing+Standalone 1.下载地址 https://archiva.apac ...

  4. Ora 命令行建立账号

    .使用cmd 进入 sqlplus /nolog conn system/ as sysdba .修改密码 alter user ebthis identified by new_psw; .查看用户 ...

  5. Vue.nextTick DOM 更新循环结束之后执行延迟回调

    在下次 DOM 更新循环结束之后执行延迟回调.在修改数据之后立即使用这个方法,获取更新后的 DOM. 简单来说,Vue 在修改数据后,视图不会立刻更新,而是等同一事件循环中的所有数据变化完成之后,再统 ...

  6. Python web在IIS上发布方法和原理

    Python web应用想要发布使用iis发布有两种方式,这篇文章就为大家介绍一下这两种方式的具体实现: 1.配置HttpPlatform程序 HttpPlatform 模块将套接字连接直接传递到独立 ...

  7. Java工作流引擎关于数据加密流程(MD5数据加密防篡改)

    关键字: 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 asp.net工作流引擎 java工作流引擎. 开发者表单  拖拽式表单 工作流系统 流程数据加密  md5  数据保密流程数据防篡改 ...

  8. 校准产品质量,把控出海航向,腾讯WeTest《2019中国移动游戏质量白皮书》正式开放预约

    作者:wetest小编 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. 原文链接:https://wetest.qq.com/lab/view/483.html 每当步入一个新的年份, ...

  9. SPOJ QTREE Query on a Tree【树链剖分模板题】

    树链剖分,线段树维护~ #include <cstdio> #include <cstring> #include <iostream> #include < ...

  10. XCOJ: 计算器

    题目地址:http://xcacm.hfut.edu.cn/problem.php?id=1251 就和表达式求值有点像,但是和杭电的哪一题不一样的是中间没有空格,那么就意味着必须通过字符串处理的方式 ...