linux下靜態編譯Qt

2021-06-23 06:06:17 字數 957 閱讀 1288

3.    開始編譯。

a)      靜態編譯:選項為:sudo ./configure–static–release–c++11 –qt-zlib  –qt-libpng –qt-libjpeg –nomakeexamples –qt-sql-sqlite –qt-sql-psql –qt-sql-mysql –qt-sql-oci–no-icu–prefix/opt/qt5.3.1-static。

其中比較關鍵的幾項:-static就是靜態編譯。-share就是動態編譯。

-no-icu就是去處icu模組

-prefix 就是安裝目錄,預設是安裝到/usr/local/下面去。

結果上面命令執行中,提示mysql沒有通過functionalitytest。去掉-qt-sql-mysql

再次執行時候,提示oracle支援也沒有通過功能測試,去掉-qt-sql-oci。

再次執行提示postgresql也沒有通過功能測試。去掉-qt-sql-psql。

要求加上-qt-xcb。加上!結果configure成功,繼續執行make和makeinstall即可。但是提示靜態鏈結會導致動態載入的plugins無法使用,提醒是否匯入所需要的所有plugin。

b)     所以最後成功的configure引數為:sudo ./configure–static–release–c++11 –qt-zlib  –qt-libpng –qt-libjpeg –nomakeexamples –qt-sql-sqlite–no-icu–prefix /opt/qt5.3.1-static。

執行 sudo make (15:45開始編譯)

d)     成功編譯乙個入門級應用程式。可以正常執行。但可執行檔案大小約為20mb,呵呵。靜態編譯付出的成本很大,但檔案大小似乎沒有降下來多少啊,不知為何?

windows下 Qt 靜態編譯

似乎一直沒有靜態編譯qt的需求 一不在沒有管理員許可權的機器上使用,二不製作綠色軟體,三.動態編譯工作得很好,再配合 nsis 製作乙個安裝包,有什麼必要靜態編譯呢?正好利用週末時間,自己嘗試編譯一下,順便整理一下,看看到底會發生什麼 儘管以後還是用動態編譯 沒特殊說明的話,以下討論的是 msvc2...

windows下 Qt 靜態編譯

似乎一直沒有靜態編譯qt的需求 一不在沒有管理員許可權的機器上使用,二不製作綠色軟體,三.動態編譯工作得很好,再配合 nsis 製作乙個安裝包,有什麼必要靜態編譯呢?正好利用週末時間,自己嘗試編譯一下,順便整理一下,看看到底會發生什麼 儘管以後還是用動態編譯 沒特殊說明的話,以下討論的是 msvc2...

Linux Ubuntu下 靜態編譯Qt程式

專案需要,原來在windows平台動態編譯程式,使用nsis指令碼,找到動態鏈結庫,再使用打包軟體,打包即可發布。現在平台轉到了ubuntu,動態編譯的話需要ldd 可執行程式 將所需要的動態庫打包。覺得麻煩,不如直接靜態編譯類庫,再用靜態庫編譯即可一勞永逸。一 靜態編譯與動態編譯的區別 動態編譯的...