當前位置:首頁 » 編程軟體 » vs編譯qt

vs編譯qt

發布時間: 2024-01-12 18:12:29

Ⅰ vs不能編譯qt

1. 建立環境變數
QMAKESPEC win32-msvc2011 // 注意
QTDIR S:\QT\4.8.4 // Qt的安裝目錄
Path S:\QT\4.8.4\bin;
注意: QMAKESPEC 還是 win32-msvc2011 因為如果要改成win32-msvc2012,需要改很多相關的配置。又麻煩又不安全。而且使用win32-msvc2011並不影響我們的結果。

2. 修改 mkspecs\win32-msvc2011\qmake.conf
將 QMAKE_COMPILER_DEFINES += _MSC_VER=1600 WIN32 當中的1600改成1700

QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t-
改為
QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t

3. 在開始菜單中找到 VS2012 x86 Native Tools Command Prompt 並運行
這一步非常簡單但很重要,一定要選擇VS2012目錄下的bat文件

4. 在控制台中,切換到Qt的安裝目錄下。使用如下參數進行配置
configure.exe -platform win32-msvc2011 -opensource -debug-and-release -shared -qt-sql-sqlite -plugin-sql-sqlite -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qmake -process -rtti -dbus -webkit -script -scripttools -no-dbus

5. nmake 開始編譯。 不過在編譯過程中會遇到幾個錯需要手動修改一下代碼。

6. 第一個錯誤如下:
.\wtf/HashSet.h(180) : error C2664: 'std::pair::pair(const std::pair &)' : cannot convert parameter 1 from 'std::pair' to 'const std::pair &'
在Qt的Src目錄搜索這個HashSet.h
將180行所在的函數以及它下面的函數用下面的代碼替換:
template
inline pair<typename HashSet::const_iterator, bool> HashSet::add(const ValueType &value)
{
auto p= m_impl.add(value);
return make_pair(typename HashSet::const_iterator(p.first), p.second);
}
template
template
inline pair<typename HashSet::iterator, bool>
HashSet::add(const T& value)
{
typedef HashSetTranslatorAdapter Adapter;
typedef typename HashSet::iterator iter_type;
auto& temp = m_impl.template addPassingHashCode(value, value);
return make_pair((iter_type)temp.first, temp.second);
}
7. 繼續 nmake遇到第二個錯誤
platform\DefaultLocalizationStrategy.cpp(327) : error C2001: newline in constant
platform\DefaultLocalizationStrategy.cpp(327) : fatal error C1057: unexpected end of file in macro expansion
這個錯誤的原因是因為代碼裡面的非英文的引號造成的。
原始的錯誤代碼如下:
return WEB_UI_STRING("Look Up 「」", "Look Up context menu item with selected word").replace("", (selectedString));
大家注意 單詞前後的引號。就是它造成編譯報錯。修改成下面的代碼
return WEB_UI_STRING("Look Up \"\"", "Look Up context menu item with selected word").replace("", (selectedString));

8. 再次nmake,好了到這里為止,就剩下漫長的等待了。我一般是睡覺之前編譯,一晚上的時間足夠了。

9. 補充,有個開源工具叫jom,也是qt官方的,它支持多核編譯,可以大大加快編譯速度。
使用的方法也很簡單jom –j 8 你有幾個核就寫幾。我是8個核

注意最後兩個DLL是VS2012的運行時庫,說明我們已經編譯成功了!

Ⅱ qt 5.4 為什麼用vs 編譯

編譯器編譯程序,基本上都工作於命令行下,而 IDE 調用編譯器進行編譯。IDE 一般都包含編譯器(如 VS)。
一般,不推薦初學者用 IDE。IDE 雖然很方便,但也會掩蓋很多過程和細節,這對學習是有害的。

Ⅲ vs2010編譯QT4.8.6,designer.exe、assistant.exe無法運行

認真核對操作步驟:
1、修改環境變數工具推薦:Rapid Environment Editor。
修改前請先備份當前的環境變數。然後:
(1)檢查系統變數path,刪除有關mingw其他版本等信息,以免與後續的mingw32-make沖突。
(2)檢查用戶變數INCLUDE、LIB、PATH、MSDevDir和MSVCDir,刪除有關\Microsoft Visual Studio\VC98的信息,因為它們會與後續的mingw32-make沖突,導致編譯出錯。
2、在電腦上安裝mingw編譯器,假設路徑安裝在C:\Qt\mingw32。將C:\Qt\mingw32\bin添加進環境變數path,打開DOS命令行輸入gcc --version和g++ --version和mingw32-make --version驗證編譯器安裝成功。我用的MinGW版本是V4.8.2,
3、解壓qt-everywhere-opensource-src-4.8.6.zip並進入目錄。例如:D:\qt-everywhere-opensource-src-4.8.6\
4、依次執行以下DOS命令:
(1)configure -debug-and-release -opensource -prefix "D:\Qt4.8.6" -platform win32-g++ -nomake demos -nomake examples
常見的使用選項說明:
-debug-and-release 編譯debug和release版
-opensource 選擇開源協議並確認
-platform win32-g++ 使用mingw編譯
-prefix "D:\Qt4.8.6" 指定編譯結果目錄,如果未指定則默認當前
-shared 創建和使用共享Qt庫
-static 創建和使用靜態Qt庫
-nomake demos -nomake examples 不編譯常式
-nomake tests 不編譯tests

-skip qtwebkit 忽略qtwebkit,因為編譯它特別消耗時間

-mp 使用多核優化編譯

(2)mingw32-make
(3)mingw32-make install
5、編譯完成後,把C:\Qt\mingw32\bin\路徑下的三個文件libgcc_s_dw2-1.dll、libstdc++-6.dll和libwinpthread-1.dll拷貝到D:\qt-everywhere-opensource-src-4.8.6\bin\。另外,也請把步驟1備份的環境變數還原。
6、修改Qt安裝路徑
最初編譯時選擇的路徑是D:\Qt4.8.6\。如果想將它復制到其他盤符,並且改名,例如:C:\Qt\4.8.6_MinGW。這樣一來會有問題嗎?是的,會有問題,因為Qt有絕對路徑依賴症。改名後C:\Qt\4.8.6_MinGW\bin\的exe執行程序都會出問題,要麼程序打不開,要麼多國語言發生異常。用記事本打開C:\Qt\4.8.6_MinGW\bin\qmake.exe,查找關鍵字「qt_prfxpath」,可以看到裡面含有原始的安裝路徑。我們不可以手動去修改qmake.exe,真正有效的解決方法是:
在C:\Qt\4.8.6_MinGW\bin\路徑下創建一個qt.conf文件,內容為
[paths]
Prefix = C:/Qt/4.8.6_MinGW

請注意:qt.conf文件必須是ANSI格式,並且Prefix的斜杠風格採取的是Linux的,而非Windows,否則會失效。或者使用"Prefix = .. ",如此一來,任意路徑有效。

Ⅳ 如何用VS2010編譯Qt5.3.2

如何用VS2010編譯Qt5.3.2
<env:Envelope xmlns:env="伺服器會接收一個像 清單 1 所示的以 XML 編碼的請求,解析這個 XML,執行相應的服務對象方法,然後返回一個如 清單 2 所示的以XML編碼的響應到請求客戶端。客戶端通常能夠解析和響應這個SOAP,並將它轉換成一個特定語言的對象或數據結構以作進一步處理。您可以選擇使用一個WSDL文件告訴客戶端關於可用函數的信息,以及輸入參數和返回值的個數和數據類型。
Zend Framework具SOAP客戶端和伺服器的實現,同時支持自動生WSDL文件。伺服器和客戶端實現在PHP中封裝了SOAP擴展;這意味著如果PHP沒有包含SOAP擴展支持,那麼它們將無法生效。這樣,使用帶有原生擴展的Zend Framework庫大大簡化了開發過程,因為開發人員只需要定義一組實現服務API的對象,並將它們附加到伺服器以便處理到達的請求。下面的各部分將詳細討論這個方面。

Ⅳ qt5.5怎麼編譯 vs2013調試

1、VS2013
這個不消我不多說,微軟有名的集成開發環境,凡是編過程的朋友都知道怎麼下載安裝。
2、qt5.5.1安裝包
包含相應的Qt庫和Qt集成開發環境(即QtCreater)。
3、qt vs插件
為了幫助在VS中創建Qt項目,並對其進行調試編譯。
注意,由於目前Qt已經分為多個版本,有些商業版本需要向開發者收費,而另一些開源版則是免費提供,故而在下載前,會有好幾個問題讓大家回答。由於某些朋友英文學得不是太好,在接下來的步驟中,我會一一向大家解釋回答的要領。

下載方法:
首先,打開如圖所示的網址,下載相應的Qt安裝包。在下載界面,第一個問題是讓你選擇下載的Qt版本,由於我們需要下載的是免費版本,故而在此選擇社區版。
注意,商業版是要收費的,價格我猜大多數初學編程的人都難以承受。

第二個問題是你想使你的產品受到保護嗎。也就是,代碼保密,不開源。如果代碼不開源,那就是商業版的范疇,因此我們在此選擇不。

第三個問題是程序如何鏈接到Qt庫,在此選擇靜態鏈接,這樣生成的程序體積會大點。不然,寫一個程序就讓程序帶著Qt庫文件到處跑,確定蠻煩人的。

5
第四個問題是你准備讓你的程序代碼開源嗎?選擇是。雖然一百個不願意開源,可是不開源就要出錢買商業版,沒辦法。

Ⅵ qt creator怎麼配置vs2013編譯器

1、Linux下Qt Creator的配置
從Dash中找到Qt Creator,打開,打開後可以看到主界面,這個界面和Windows下基本一致(後面安裝windows版本就清楚了),在前面的兩篇文章中我已經分別編譯了Linux下的X86平台和ARM平台的QT庫,這部分就針對這個IDE進行相應的配置,是能夠進行應用程序的開發。
在主界面中從菜單欄點擊"工具"->"選項"->在左側點擊「構建和運行」界面如下圖所示。

從圖中可以看到,IDE並沒有自動識別安裝的QT,這是因為在缺乏系統環境變數的情況下,不知道程序安裝到了什麼地方,所以這里需要手動設置,手動設置很簡單,只需要點擊添加,分別添加編譯的兩個版本的QT安裝文件中的qmake文件即可,注意是安裝文件,並不是之前解壓的源文件。
默認的安裝路徑為/usr/local/Trolltech這個文件夾下有兩個文件夾,具體路徑可以參見上圖。
到這里就告訴IDE 安裝QT的位置了,由於需要進行編譯開發,接下來還需要指定編譯器,點擊「編譯器」選項卡,如下圖所示。

如圖中所示,Qt Creator已經檢測到X86的GCC,而我們要是做arm平台開發的話還需要指定用於arm開發的交叉工具鏈,我的安裝路徑為/usr/local/arm/4.3.2/bin/需要指定g++文件,如圖中所示。配置完成後,點擊「應用」。
QT和編譯器指定完成後就需要進行下一步配置了,就是對這些工具進行組合,點擊「構建套件(kit)」選項卡,如下圖所示。

如上圖所示,這里所做的設置也很簡單,相當於是設定幾種方案,指定設備類型、所用的編譯器版本以及QT版本,我這里配置桌面和ARM兩項,分別對應在PC和開發板兩個平台。
到這里,基本配置就完成了。
2、使用Qt Creator進行初步開發
下面新建一個項目,點擊菜單 」文件「->」新建「,如下圖所示,選擇應用程序-Qt Gui應用

接下來填寫項目名稱和選擇保存位置,點擊」下一步「選擇構建套件,這里用於選擇使用的構建套件,即上文配置的,按照上文配置我這里就有兩個套件,桌面和ARM,這個地方後面是可以更改的,因此我這里還是先選擇桌面,下面有對應的Debug與Release這里保持默認。接下來全部保持默認一直到完成。
工程新建完成後就可以看到工程目錄即文件了,如下圖所示。

第一個常式就不添加啥程序了,充分利用IDE設計的方便之處,拖拽幾個控制項運行示意一下吧,雙擊上圖中的界面文件下的mianwindow.ui文件,接下來就能看到和VS下利用C#等開發非常類似的界面,可以從左側選擇一些控制項,右下角可以針對具體的控制項屬性進行修改,如下圖所示,拖出自己需要的控制項,並進行簡單修改。

我這里拖了幾個作為示意,這部分弄好後,點擊左下角的
直接運行,構建完成後就會彈出剛剛設計的界面,如下圖所示。

可以看到實際運行效果和編輯的情況由於字體等因素略有差異。接下來就要生成一個能夠在開發板上運行的程序了,由於剛剛在新建項目的時候構建套件選擇的是桌面,所以首先要對這點進行更改。如下圖所示,點擊 」項目「--」添加構建套件「下方就會彈出我剛剛設定的ARM,在arm的構建設置中可以使用默認配置,其他相關選項可以參考桌面選項更改。

需要說明的是在ARM的運行項目中,需要部署到遠程運行,這里沒有部署,因此在剪輯編輯進行構建的時候,就不能改直接運行了,點擊錘子圖標,進行構建,構建完成後可以在工程文件夾下,如下圖所示,那麼在ARM開發板上運行的程序就在test1-build-ARM-_____Debug文件夾下。

接下來把生成的可執行文件拷貝到開發板進行運行,我這里使用的是nfs掛載的方式,通過超級終端運行
./test1 –qws
運行程序,需要說明的是我使用的開發板是飛凌的OK6410,上面已經移植好了QTE 4.7.3,雖然我的版本是4.8.4但是運行沒有問題,其他平台需要先移植QT,這個暫時不在本文的討論范圍之內,運行效果如下:

到這里,用於開發板運行的第一個小程序就跑起來了。
3、Windows下Qt的安裝
Linux下的安裝和配置搞定了,Windows下的就非常簡單了,Windows下有針對VS2008/2010以及Mingw的版本,雖然我電腦里裝了VS2010,這里還是決定安裝Mingw的版本,首先下載相關文件,下載地址:
http://qt-project.org/downloads
需要說明的是,早期有SDK安裝包的,現在都是單獨的了,所以需要分別下載
qt-win-opensource-4.8.4-mingw.exe
qt-creator-windows-opensource-2.6.1.exe
MinGW-gcc440_1.zip 下載地址http://get.qt.nokia.com/misc/MinGW-gcc440_1.zip
如果想在VS中使用可以下載
qt-vs-addin-1.1.11.exe
qt-win-opensource-4.8.4-vs2010.exe
由於Mingw並沒有被qt-win-opensource-4.8.4-mingw.exe安裝包集成,所以需要先安裝mingw,安裝很簡單,直接解壓到指定的目錄就行,我的路徑d:/mingw。
接下來安裝qt-win-opensource-4.8.4-mingw.exe,按照過程中會要求指定mingw,指定剛剛的解壓目錄即可。
然後安裝qt-creator-windows-opensource-2.6.1.exe,這個不用多說了。
安裝完成後打開Qt Creator,通Linux下的設置一樣,打開設置,這里只需要指定mingw的目錄即可,同樣指定到g++工具,如下圖所示,可以看到兩者界面幾乎一樣,下面的操作就基本一致了,只是這里沒有配置用於arm平台的工具鏈。

Ⅶ 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項目

Ⅷ VS編譯Qt有什麼用

Qt是一個跨平台且功能強大的C++庫,在VS下編譯Qt是為了能夠在windows使用VS方便地開發Qt程序。至於Qt Creator,這個集成開發環境與VS相比,自然是小烏見大烏了。

熱點內容
php判斷ip 發布:2024-11-16 21:07:03 瀏覽:738
有看頭密碼怎麼改 發布:2024-11-16 20:57:39 瀏覽:326
A有語法錯誤不能編譯 發布:2024-11-16 20:49:17 瀏覽:946
廚房需要配置什麼噴淋頭 發布:2024-11-16 20:39:02 瀏覽:298
酒瓶解壓 發布:2024-11-16 20:29:20 瀏覽:730
視頻怎樣上傳到手機 發布:2024-11-16 20:26:30 瀏覽:259
怎麼把ppt文件壓縮 發布:2024-11-16 20:22:30 瀏覽:686
linux大內存 發布:2024-11-16 20:22:28 瀏覽:951
屏蔽迅雷上傳 發布:2024-11-16 19:49:17 瀏覽:601
java怎麼定義方法 發布:2024-11-16 19:48:15 瀏覽:144