詳細的原理請參考原文說明,這裡只針對建置與使用的步驟做整理。
原文: Building a static Qt for Windows using MinGW
使用靜態程式庫主要分2大步驟:
1. 事前準備
1. 建置
2. 設定環境
事前準備:
1. 安裝Qt,到Qt下載頁,選擇 Qt 5.6.0 for Windows 32-bit (MinGW 4.9.2, 1.0 GB)
2. 安裝Windows PowerShell,Win8以上已經有內建,Win7要從微軟下載安裝檔安裝,Vista以 前是無法裝PowerShell的,可以直接放棄
3. 安裝 7-Zip,下載連結
建置:
原文提供了一個PowerShell腳本 ,可以直接載來用,不過要做一些小修改:
param(
$QtSrcUrl = "http://download.qt.io/official_releases/qt/5.6/5.6.0/single/qt-everywhere-opensource-src-5.6.0.7z",
$QtStaticDir = "C:\Qt\Static",
$QtVersion = "",
$MingwDir = "",
[switch]$NoPause = $false
)
$MingwDir = "" 這行請改為 $MingwDir = "C:\Qt\Tools\mingw492_32",不然script會找不到編譯器。
改完之後直接按右鍵 -> 用PowerShell執行即可。我的電腦跑了大概三個半小時完成建置。
設定環境
開啟Qt Creator,選工具->選項->建置並執行->Qt版本->新增,選擇qmake路徑,依照上方的步驟應該為: C:\Qt\Static\5.6.0\bin\qmake.exe,重新將版本名稱命名為: Qt 5.6.0 Static,按Apply套用設定。
不過此時會有一個小問題,在qmake位置下方會顯示"No qmlscene installed",解決方法是將下面幾個檔案從 C:\Qt\5.6\mingw49_32\bin 複製過來:
qmlscene.exe
Qt5Core.dll
Qt5Gui.dll
Qt5Network.dll
Qt5Qml.dll
Qt5Quick.dll
Qt5Widget.dll
完成後再重新開啟選項選單,就不會看到這個訊息了。
下一步是選擇工具->選項->建置並執行->Kits->新增,並將Qt版本選為 "Qt 5.6.0 Static",名稱改為: "Desktop Qt 5.6.0 MinGW Static 32bit" ,至此完成設定。
往後在建立 project時,就可以選擇要適用static還是dynamic程式庫了
建議的使用方式為:
debug使用dynamic,編譯速度較快,
release使用static,比較好發布
原文: Building a static Qt for Windows using MinGW
使用靜態程式庫主要分2大步驟:
1. 事前準備
1. 建置
2. 設定環境
事前準備:
1. 安裝Qt,到Qt下載頁,選擇 Qt 5.6.0 for Windows 32-bit (MinGW 4.9.2, 1.0 GB)
2. 安裝Windows PowerShell,Win8以上已經有內建,Win7要從微軟下載安裝檔安裝,Vista以 前是無法裝PowerShell的,可以直接放棄
3. 安裝 7-Zip,下載連結
建置:
原文提供了一個PowerShell腳本 ,可以直接載來用,不過要做一些小修改:
param(
$QtSrcUrl = "http://download.qt.io/official_releases/qt/5.6/5.6.0/single/qt-everywhere-opensource-src-5.6.0.7z",
$QtStaticDir = "C:\Qt\Static",
$QtVersion = "",
$MingwDir = "",
[switch]$NoPause = $false
)
$MingwDir = "" 這行請改為 $MingwDir = "C:\Qt\Tools\mingw492_32",不然script會找不到編譯器。
改完之後直接按右鍵 -> 用PowerShell執行即可。我的電腦跑了大概三個半小時完成建置。
設定環境
開啟Qt Creator,選工具->選項->建置並執行->Qt版本->新增,選擇qmake路徑,依照上方的步驟應該為: C:\Qt\Static\5.6.0\bin\qmake.exe,重新將版本名稱命名為: Qt 5.6.0 Static,按Apply套用設定。
不過此時會有一個小問題,在qmake位置下方會顯示"No qmlscene installed",解決方法是將下面幾個檔案從 C:\Qt\5.6\mingw49_32\bin 複製過來:
qmlscene.exe
Qt5Core.dll
Qt5Gui.dll
Qt5Network.dll
Qt5Qml.dll
Qt5Quick.dll
Qt5Widget.dll
完成後再重新開啟選項選單,就不會看到這個訊息了。
下一步是選擇工具->選項->建置並執行->Kits->新增,並將Qt版本選為 "Qt 5.6.0 Static",名稱改為: "Desktop Qt 5.6.0 MinGW Static 32bit" ,至此完成設定。
往後在建立 project時,就可以選擇要適用static還是dynamic程式庫了
debug使用dynamic,編譯速度較快,
release使用static,比較好發布
留言
張貼留言