當前位置:編程學習大全網 - 源碼下載 - vs不能編譯qt

vs不能編譯qt

1. 下載qt的安裝包和vs2011的qt插件,大家可以到下面的地址進行下載

BBS:

官網:

本人是在BBS上找到的,官網上沒仔細去找了(英文太多)。

2. 安裝qt sdk

安裝其實很簡單了,基本上壹路回車即可,主要是要註意下qt的安裝路徑最好安裝在全英文路徑而且中間沒有空格, 安裝好後,可以運行開始菜單裏面的qt demo,直觀感受下qt的強大功能!

界面非常炫酷

4. 編譯qt

qt默認使用mingw進行編譯,如果要使用vs2011開發,需要將qt重新編譯。

入開始菜單microsoft visual studio 2011,visual studio tools,visual studio

command prompt (2011),需要註意的是,這裏面必須是使用visual studio command prompt

(2011),不能使用cmd的dos窗口

進入qt的安裝目錄後,執行cd qt,進入qt的根目錄

運行命令 configure -platform win32-msvc2011,o(選擇opensource模式)回車,y(同意license)回車

k1988插入:

在編譯過程中,為了加快速度,可以對configure適當的加些參數,比如-fast,-no-webkit(這個貌似挺耗時的)

選擇的命令行:configure -platform win32-msvc2011 -fast -debug-and-release

-no-webkit -no-script -no-qt3support -nomake demos -nomake examples

-nomake tools -mp

其中:mp是多線程編譯選項。

接著就會自動配置qt的編譯環境,等配置結束後,運行nmake,回車,qt就會開始漫長的編譯過程,這段時間非常長,需要4個小時以上。

liuyu遇到的問題:(自己遇到過,當時沒記錄下來,但是記得編譯過程中遇到這些問題)

1.DefaultLocalizationStrategy.cpp

C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/INCLUDE/yvals.h(21) : war

ning C4005: ‘_HAS_TR1’ : macro redefinition

command-line arguments : see previous definition of ‘_HAS_TR1’

platform/DefaultLocalizationStrategy.cpp(327) : error C2001: newline in constant

platform/DefaultLocalizationStrategy.cpp(327) : fatal error C1057: unexpected en

d of file in macro expansion

NMAKE : fatal error U1077: ‘“C:/Program Files (x86)/Microsoft Visual Studio 10.0

/VC/BIN/cl.EXE”’ : return code ‘0x2’

Stop.

NMAKE : fatal error U1077: ‘“C:/Program Files (x86)/Microsoft Visual Studio 10.0

/VC/BIN/nmake.exe”’ : return code ‘0x2’

Stop.

NMAKE : fatal error U1077: ‘cd’ : return code ‘0x2’

Stop.

NMAKE : fatal error U1077: ‘cd’ : return code ‘0x2’

Stop.

解決辦法:

打開文件…/Qt4.8.5/src/3rdparty/webkit/Source/WebCore

/platform/DefaultLocalizationStrategy.cpp

找到327行刪除的引號“”

2.NMAKE:fatal error U1077. return code 0x2

產生原因:找不到代碼文件中包含的頭文件

解決辦法:cmd下進入到vs安裝路徑/VC/Bin下,執行vcvars32,此時會執行vcvas32.bat自動為vs設置環境變量 (這個也試過好幾回,沒效果,依然出現上面錯誤)試試下面的就解決了:

經分析,是環境變量設置的CURR_DIR和TARGETDIR值中含有空格導致了此問題。

通過下面的命令刪除環境變量即可。

在d:/Qt/4.8.6目錄下鍵入下面的命令即可(不是很明白)

接著繼續nmake命令 回車換行

k1988插入:(本人未找到以下文件)

請先刪除

src/3rdparty/webkit/webcore/tmp/moc/debug_shared/mocinclude.tmp

src/3rdparty/webkit/webcore/tmp/moc/release_shared/mocinclude.tmp

/src/script/tmp/moc/debug_shared/mocinclude.tmp

/src/script/tmp/moc/release_shared/mocinclude.tmp

等文件,否則編譯有可能失敗。

k1988插入:

這壹步很重要,關系到是否能用qt-vs-addin。

把d:/qt/bin下的.qmake.cache和configure.cache這兩個文件手動備份到另壹個地方。

(本人未嘗試過)然後使用nmake clean進行清理掉那些中間文件(pdb,obj等文件),清理出4個g左右的空間。

nmake confclean是清理配制文件,占的空間不大,可以不執行了。這個時候再把剛備份的.qmake.cache和configure.cache拷回原處。

5.配置vs2011的qt開發環境(vs2011最好是英文版本,qt對vs2011中文版本可能支持的不好)

等qt編譯好後就可以配置vs2011的開發環境了,進入vs2011,選擇qt菜單,qt option,進入下圖界面

k1988插入:

步驟編譯好了,用qt助手paths加進去,不知為何ok鍵不亮, 紅字提示:qt in the given path built using

mingw 這個是qt插件的bug,得手工改註冊表 hkey_current_user/software/trolltech/versions/

下增加壹個子項 qt486(需要的名稱) 子項下面增加壹個數值 installdir,值就是妳要配置的qt路徑

ps:如果沒有versions這個文件夾就新建壹個吧!

(這裏確實是個坑,僅僅修改註冊表居然沒有用,還要去qt的lib文件夾下刪掉兩個文件 –>>刪除qt的lib目錄下(我的路徑是D:/Qt/4.8.6/lib)的libqtmain.a and libqtmaind.a 兩個文件。)

點擊add,添加qt的安裝目錄,並取名字,我這裏使用qt的4.8.6版本為名稱,選擇ok後即可。

6.新建或者導入qt項目

可以通過在vs2011新建壹個qt項目

  • 上一篇:《LOL》12月26日周免競猜活動
  • 下一篇:陽朔西街的旅遊線路怎麽安排最合理?有詳細推薦嗎?
  • copyright 2024編程學習大全網