Linux Qt 5 12 1靜態編譯

2021-09-11 04:19:56 字數 1555 閱讀 7796

1 linux qt-5.12.1靜態編譯

宣告:以下僅為個人經驗,若有錯誤地方望指正

1.2 確認make存在

(1)使用 make -v 檢視make是否存在

(2)若不存在則使用sudo apt install make安裝make

1.3 configure生成makefile

./configure -static -release -qt-zlib -qt-libpng -qt-libjpeg -nomake examples -nomake tests -no-opengl -prefix /home/ubuntu16/desktop/wubw/qt-5.12.1-static -skip qttools -skip qtsensors -skip qtconnectivity -skip qtserialport -skip qt**********

虛擬機器:

./configure -static -release -qt-zlib -qt-libpng -qt-libjpeg -nomake examples -nomake tests -no-opengl -prefix /home/qtopensource/qt-5.12.1-static -skip qttools -skip qtsensors -skip qtconnectivity -skip qtserialport -skip qt**********

引數-static 指的是要採用靜態編譯qt的方法

引數-release指的是只編譯release版本的庫

引數-qt-zlib -qt-libpng -qt-libjpeg 是更好確定qt編譯出的程式能在目前不知的系統下執行【可要可不要】

引數-nomake demos -nomake examples 指的是不編譯demos和examples

引數 -prefix /usr/local/qt-5.12.1_static 指明靜態編譯的qt安裝的目錄,據說沒有這個,就會覆蓋掉你之前安裝的動態編譯安裝的qt(如果有的話)

引數-skip qttools -skip qtsensors -skip qtconnectivity -skip qtserialport -skip qt**********表示跳過這些模組,不編譯,若需要這些模組則去掉相關-skip

參考:

1.4 make -j4

使用4個執行緒同時編譯qt原始碼

1.5 make install

安裝qt-5.12.1_static靜態庫,到-prefix後面設定的目錄下

1.6 使用靜態庫編譯qt專案**

(1)指定靜態庫的路徑

export ld_library_path=$ld_library_path:/usr/local/qt-5.12.1_static/lib

後面的qt靜態庫的路徑根據實際情況改變

(2)指定預設qmake

將靜態庫的qmake拷貝到/usr/bin

qmake -v檢測該qmake是否是靜態庫的qmake路徑

(4)生成makefile

qmake ***.pro

(5)編譯makefile

make

Qt編譯生成靜態庫(靜態編譯)

開發環境 vs2008 qt4.8.4原始碼庫 其他環境請自己嘗試,原理應該是差不多的 qt編譯生成靜態庫1.本教程只針對在win32平台,使用vs開發工具 例子以vs2008為例 2.3.解壓qt源 到目標目錄,如 4.開啟 mkspecs 目錄,找到目標平台的資料夾,如 win32 msvc20...

關於靜態編譯

出現以下錯誤的解決方案 nafxcw.lib afxmem.obj error lnk2005 void cdecl operator new unsigned int 2 yapaxi z already defined in libcmt.lib new.obj nafxcw.lib afxme...

qt靜態編譯

qt靜態編譯出現以下問題怎麼解決呢?d qt 5.9.0 qtbase src corelib global qlibraryinfo.cpp fatal error c1853 qmake pch.pch 預編譯標頭檔案來自編譯器的早期版本,或者預編譯頭為 c 而在 c 中使用它 或相反 nmak...