![](/img/trans.png)
[英]Debugging resource file compilation (rc.exe) in MSVC2010 Express and Qt 4.8 (Qt Creator 2.4.1)
[英]Qt Creator 2.6.1 + Qt 5 + C++11 + MSVC2010 compiler
我正在嘗試使用Qt在Windows上構建C ++應用程序。
我的設置是:
現在當我#include並嘗試使用std :: unique_ptr它告訴我它沒有定義,所以我查看VS2010頭文件並看到需要定義_HAS_CPP0X,所以我把它添加到.pro中作為DEFINES + = _HAS_CPP0X
這仍然沒有效果,所以我按住+單擊#include內存只是為了找到它使用的內存頭:
C:\\ Program Files(x86)\\ Microsoft Visual Studio 9.0 \\ VC \\ include
那里真的沒有任何std :: unique_ptr!
當然應該看看:
C:\\ Program Files(x86)\\ Microsoft Visual Studio 10.0 \\ VC \\ include?
我想我會通過完整路徑包含內存,但是這仍然會失敗,包含的內存頭本身與C ++ 11之類的內容有關,例如move和rvalue引用。
所以我想知道的是:
編輯:
正因如此,解決方案很清楚:下載Qt5的源代碼並使用MinGW構建它,您將全部設置(在接受的答案中包含C ++ 11 pro選項)。
你可以簡單地說:
CONFIG += c++11
在.pro文件中。 但強烈建議將編譯器升級到最近的g++
或clang
。
我正在運行QT Creator 2.6.0所以假設如果你轉到工具>選項>構建和運行選項菜單沒有改變,然后查找編譯器選項卡,你應該看到自動檢測到的編譯器列表,希望包括Microsoft Visual C ++編譯器10.0 。 如果沒有,可以手動添加。
至於C ++ 11支持,如果您正在使用cmake並將項目導入到QT Creator中,您可以將其添加到您的cmake文件中:set(CMAKE_CXX_FLAGS“-std = c ++ 0x”)
如果您正在使用qmake,那么根據手冊設置QMAKE_CXXFLAGS + = -std = c ++ 0x
編輯:那說Visual Studio 2010(Visual C ++ 10.0)默認啟用c ++ 11支持,但應該注意它只是一個子集,這是一個相關的問題 。
沒有
Windows上的Qt可以使用Vs2010支持的C ++ 11功能嗎?
你必須得到Visual 2012。
如果沒有,那么我非常失望,因為在Linux上開發跨平台Qt 5應用程序意味着它不是跨平台,因為它不可能為任何其他平台構建它!
在Mac上,使用XCode 4編譯器CLang 2,在任何平台上,基於GCC 4.7的編譯器都可以工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.