Qt第二天——靜態版本編譯



上篇介紹了QT開發的基本知識——環境搭建,相信大家已經最qt開發有所瞭解,但是不管是msvcmingw,都是使用qt的相關動態庫進行編譯的,因此,我們做出來的應用程序若是換到一臺沒有安裝過qt開發環境的機器上,將會提示缺少qt相關的動態庫而無法正常運行,除非你再把需要用到的庫也搬過來,但這樣顯然很麻煩,有沒有什麼辦法可以解決這個問題?今天我們就來介紹下靜態編譯qt應用程序的準備工作。

 

總的來說有兩部分工作要做:

第一步:利用Qt源碼來編譯出Qt的靜態庫。

第二步:在Qt Creator中設置編譯選項。

 

我們先說第一步,其實這個編譯的過程一點也不復雜,大家不要先有畏懼心理,遇到問題解決問題就行了,跟寫代碼是一樣一樣的。

  1. 下載源碼,地址在這http://download.qt.io/archive/qt/5.5/5.5.1/single/

    任選一個壓縮包,我選的是.zip格式的,解壓即可(路徑中不要包含空格,這是我遇到的問題,編譯的時候命令行不認識這個地址)

  2. 在解壓目錄下找到configure.exe所在的目錄,將該目錄(D:\qt-everywhere-opensource-src-5.5.1\qtbase)添加到環境變量的path裏面。

  3. 我們vs2010的編譯環境來編譯,先到解壓目錄下找到D:\qt-everywhere-opensource-src-5.5.1\qtbase\mkspecs\common\ msvc-desktop.conf文件,將

     

    QMAKE_CFLAGS_RELEASE   = -O2 -MD

QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi

QMAKE_CFLAGS_DEBUG      = -Zi –MDd

改爲

QMAKE_CFLAGS_RELEASE    = -O2-MT

QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi

QMAKE_CFLAGS_DEBUG      = -Zi –MTd

保存即可。

  1. vs2010命令行工具啓動編譯。

    這裏要說一下,我開始是直接打開vs2010,在工具”-“visual studio 命令提示的命令行編譯的,但是一直提示我create nmake…Building qmake failed, return code 2,於是百度了,說是找不到vsnmake編譯器,於是到vs安裝目錄下(D:\ProgramFiles(x86)\VS\VC\bin),在文件路徑裏輸入“cmd”,在彈出的命令行窗口中執行該目錄下的vcvars32.bat腳本,如圖所示:

接着再進入到D:\qt-everywhere-opensource-src-5.5.1\qtbase路徑下,再輸入以下命令:

configure-platform win32-msvc2010 -opengl desktop -debug-and-release -static-qt-sql-sqlite,回車鍵,這行命令是設置編譯配置,需要等兩三分鐘,之後再輸入” nmake” ,按回車鍵等待大約兩個小時的編譯過程就結束了。生成的靜態庫目錄在D:\qt-everywhere-opensource-src-5.5.1\qtbase\lib下。

 

第一步成功之後,我們來所說第二步,就是讓Qtcreator在生成應用程序的時候

調用靜態庫生成靜態的發佈程序。

  1. Qt creator中點擊工具”——“選項,選擇構建和運行”——“QtVersion”——“添加,將D:\qt-everywhere-opensource-src-5.5.1\qtbase\bin\qmake.exe加進來。

  2. 構建和運行”——“編譯器中確保有MSVC的選項就行。

  3. 構建和運行”——“構建套件——‘’添加

    名稱:Desktop—static

    Qt版本:選擇剛纔在“Qt Version”中添加的靜態庫版本

    編譯器:Microsoft visual C++Compiler 10.0(x86)

  4. 以上,在QtCreator上的設置已經完成了,我們只需要在新建項目時,在“Kit Selection”中選擇“Desktop—static”這個編譯套件即可。

     

    到此爲止,我們想要生成靜態版本的應用程序的工作已經講解完了,大家要是實施的時候遇到什麼問題就給我留言,我會盡快回復。

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章