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

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

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

原文地址:https://www.cnblogs.com/wchonline/p/11194428.html

时间: 2024-08-29 13:06:44

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

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

QT5,VS2012静态编译,所有的库准备充分的话qwebkit也可以静态编译通过,但是我编译的版本使用中如果用了QWEBVIEW控件在连接时会出错. 注:我自己编译的环境是:win server 2012 dc版 , vs2012 with update1,qt-everywhere-opensource-src-5.0.2,perl和rupy都是在qt官方给的地址下的最新的X64的,python是2.7 X64的... 本文主要针对qt 5.X版本,qt4.X的依赖没那么多,可以酌情参考下,

编译Valgrind arm交叉编译

1. 下载源码: http://valgrind.org/downloads/valgrind-3.9.0.tar.bz2 2. 加压缩: mkdir sw cd sw tar zxf valgrind-3.9.0.tar.bz2 3. 修改代码: cd valgrind-3.9.0/ vim coregrind/m_debuginfo/readstabs.c 第57行:注释掉 //#include <-a.out.h> 然后添加: struct nlist { union { char *n

Qt5.2.0 MinGW480 release静态版编译结果、过程及QtCreator配置分享(realfan的编译方法)(configure -h可以显示帮助)(静态编译mysql插件,需要做一些其它工作,机器上要有mysql)(不编译qtwebkit,就不用安装ActivePerl了)(用到 QMediaPlayer的编译办法)

这是我编译好的静态release版,可以直接取用,7z压缩包,解压即用(感谢zzhouqianq提醒)http://yunpan.cn/QDvxdTL9LFLJP (提取码:871c)包含odbc,sqlite,没有webkit如果要自己编译,可以参考下面的过程及需要的文件一.文件准备,下面用到的文件,可以自行到相应官网下载.我在网盘上也共享了:① qt-opensource-windows-x86-mingw48_opengl-5.2.1.exehttp://yunpan.cn/QpMMWfE

Qt5.4静态编译方法

静态编译,就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so或.lib)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库.这样就可以发布单一文件的EXE程序了. 工具/原料 Qt库 Python Perl Ruby 安装Perl 1 双击从官网下载的安装包进入安装界面 2 安装时注意选择这两项 安装Python 1 双击从官网下载的安装包进入安装界面 2 安装完成后,需要将安装目录添加到系统环境变量Path中 安装Ruby 1 双击从

用mingw静态编译Qt4.8.2和Qt5.1.1(需要修改不少源码)

因为一些乱七八糟的原因,我需要用mingw静态编译Qt4.8.2和Qt5.1.1.经历了一天的折腾之后,自觉编译一下Qt还是件颇为麻烦的事情,故将过程略作总结,以备不时之需. 首先,在编译之前,我需要下载mingw.qt-everywhere-opensource-src-4.8.2和qt-everywhere-opensource-src-5.1.1. 然后,准备开始编译了,当然先得把压缩包解压到一个合适的地方.我这里的路径是"C:\Qt"下面. 解压完毕后,先试着编译Qt4.8.2

静态编译Qt5.4.1和Qt WebKit

blog文章地址:http://godebug.org/index.php/archives/133/ WebKit是个好东西,做爬虫.显示网页还是想用HTML来做桌面应用的界面都可以用他,不过一直以来都觉得自己编译webkit费力不讨好,所以都是用的qt官方编译好的,至于静态编译webkit,我之前一直以为是根本不可能的.后来看qt forum上说其实是可以的,不过是因为开源协议的问题qt默认的静态编译只是把webkit给排除了,自己编译一下webkit就好了,既然如此,那我就当小白试一下.不

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

目标板是S3C2440.至于交叉编译环境的搭建就不多说了,网上很多教程. 搭建好了交叉编译环境后,第一件事就是传说中的”Hello,World!”. 一. 主机编译环节 我使用的系统是ubuntu10.04,搭建好交叉编译环境后,终端输入arm-linux-gcc -v能够正常显示版本信息,但是输入sudo arm-linux-gcc -v后却显示命令无法找到. 我试过很多种方法,比如sudo -s切换到root后,编辑$PATH,将编译器路径加入.然后exit到普通用户.仍然不能执行sudo

QT5.4 vs2013静态编译之加载静态插件sqlite

1. 很多同学在静态编译QT5完成后, sqlite的驱动老是加载不进去, 原因可能是因为你没有如下操作: #include <QtPlugin> Q_IMPORT_PLUGIN(QSQLiteDriverPlugin) 记得是 QSQLiteDriverPlugin 而不是 qsqlite 当然你在编译的时候的configure 要把插件编进去-plugin-sql-sqlite

Qt5.3.1 静态编译的configure

今天终于自己静态编译过了QT5.3.1, 成功用在项目上了, 记录下configure指令. configure -confirm-license -opensource -platform win32-msvc2013 -mp -debug-and-release -static -prefix "E:\Qt\5.3.1-static-vs2013" -qt-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-