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...