因為時常把程式寫好編譯後
要將程式去別台執行
就會出現缺少XXXXX.dll
這就是編譯器是用動態連結
除非把所有需要的dll都一起複製帶著走
要不然程式是無法動作的
因此要將程式所用到的函數都包在一個執行檔裡面
所以要編譯成靜態的
要是沒編譯成靜態 開啟檔案會出現下面的警告
找不到QtCored4.dll
所以接下來就要將QT編譯成靜態
複製你安裝QT的資料夾
預設路徑為C:\qt\發布的版本
例如我的是C:\qt\2010.02.1
複製一份命名為C:\qt\2010.02.1-static
接下來開啟QT的Qt Command Prompt
預設路徑為
開始→程式集→Qt SDK by Nokia v2010.02.1 (open source)→Qt Command Prompt
開啟後將目錄轉到你複製完成的資料夾底下的qt
cd C:\qt\2010.02.1-ststic\qt
接下來所要下的命令為
configure -static -release -fast -no-phonon -no-opengl
會出現
Which edition of Qt do you want to use ?
Type 'c' if you want to use the Commercial Edition.
Type 'o' if you want to use the Open Source Edition.
這時候就要打
o然後按Enter
因為通常安裝的都是開放原始碼的授權程式
除非你有去購買授權版的
接下來就是會出現
This is the Qt for Windows Open Source Edition.
You are licensed to use this software under the terms of
the GNU Lesser General Public License (LGPL) version 2.1
or the GNU General Public License (GPL) version 3.
Type '3' to view the GNU General Public License version 3 (GPLv3).
Type 'L' to view the Lesser GNU General Public License version 2.1 (LGPLv2.1).
Type 'y' to accept this license offer.
Type 'n' to decline this license offer.
Do you accept the terms of the license?
輸入3或L是看那些開放原始碼的法律條文
要看的可以自己進去看
所以在這裡輸入
y案Enter
像上面出現
Qt is now configured for building. Just run mingw32-make.
To reconfigure, run mingw32-make confclean and configure.
就成功了
接下來就會開始自動設定檔案
設定完成就輸入
mingw32-make輸入完後要等大約2-3小時
出現類似以下的訊息
就代表編譯完成
mingw32-make[4]:
mingw32-make[3]:
mingw32-make[2]:
mingw32-make[1]:
編完後此Qt的檔案就會變成靜態的模式
接下來就是去Qt Creator設定
將編譯器指向此靜態的函式庫
開啟Qt Creator
功能表的Tools→Options→Qt4
按下新增按鈕
version name 填入你知道的名子
QMake Location 填入你編好的靜態Qt函式庫裡的bin的qmake.exe檔案
MinGW Directory 填入MinG編譯器的位置
不管是靜態的那個資料夾或是動態的都可以
所以可以將靜態的MinGW刪除然後指向動態的
OK就可以了
接下來就是將你所寫好的Qt程式用靜態編譯
先開啟你的專案
點到Project
新增你剛剛設定好的環境
它會要你輸入新的Configuration的名子
輸入完後選到你剛剛設定完後的debug
將它刪除
因為Qt的靜態版本不能用來編譯debug
所以將它刪除以免選錯
編譯後就可以了
0 意見:
張貼留言