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

  再用之前的命令重新編譯一下,運行成功!  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM