剛剛下載並在OSX 10.9.2上安裝了Qt5。Qt5/QtCreator中的C++ 11 OSX上的3.0.1
當試圖使用clang運行套件編譯一些C++ 11代碼時,當我試圖包含cstdint時出現故障;
fatal error: 'cstdint' file not found
經過大量的谷歌搜索後,似乎C++ 11默認情況下不是'啓用',它會觸發這個錯誤。看來在Qt5中,啓用C++ 11的方式已經發生了變化。它應該像在項目 - >構建&運行 - >構建步驟 - >其他參數「中添加CONFIG + = C++ 11一樣簡單,只要我理解正確。
然而這並沒有什麼區別。
所以;任何人都知道如何使用QtCreator和clang工具包來啓用C++ 11?
關於QtCreator給我以下信息: QtCreator 3.0.1 基於Qt 5.2.1(鐺5.0(蘋果),64位)
編譯器輸出如下:
14:25:23: Running steps for project shelly...
14:25:23: Starting: "/Users/m/Qt5.2.1/5.2.1/clang_64/bin/qmake" /Volumes/files/Programmering/shelly/shelly.pro -r -spec macx-clang CONFIG+=debug CONFIG+=x86_64 CONFIG+=declarative_debug CONFIG+=qml_debug CONFIG+=c++11
14:25:23: The process "/Users/m/Qt5.2.1/5.2.1/clang_64/bin/qmake" exited normally.
14:25:23: Starting: "/usr/bin/make"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -c -pipe -g -gdwarf-2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -mmacosx-version-min=10.7 -Wall -W -fPIE -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/Users/m/Qt5.2.1/5.2.1/clang_64/mkspecs/macx-clang -I../shelly -I/Users/m/Qt5.2.1/5.2.1/clang_64/lib/QtOpenGL.framework/Versions/5/Headers -I/Users/m/Qt5.2.1/5.2.1/clang_64/lib/QtWidgets.framework/Versions/5/Headers -I/Users/m/Qt5.2.1/5.2.1/clang_64/lib/QtGui.framework/Versions/5/Headers -I/Users/m/Qt5.2.1/5.2.1/clang_64/lib/QtCore.framework/Versions/5/Headers -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/AGL.framework/Headers -I. -I. -F/Users/m/Qt5.2.1/5.2.1/clang_64/lib -o datainterval.o ../shelly/core/datainterval.c++
In file included from ../shelly/core/datainterval.c++:5:
In file included from ../shelly/core/datainterval.h++:9:
../shelly/core/datatime.h++:9:10: fatal error: 'cstdint' file not found
#include <cstdint> // GPL w/runtime exception
^
1 error generated.
make: *** [datainterval.o] Error 1
14:25:24: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project shelly (kit: Desktop Qt 5.2.1 clang 64bit)
When executing step 'Make'
14:25:24: Elapsed time: 00:01.
更新:
已經做了我的問題的'最小重新創建'
- 創建一個新項目,即「Qt Widgets Application」。
- 將所有內容保留爲默認值,但路徑除外。
- 在創建的文件mainwindow.C++,添加cstdint包括聲明:
- 嘗試構建它(它上面的失敗)
添加的「項目」 - >「建立&運行」 - >「建設步驟」 - >‘的附加參數’
CONFIG + = C++ 11
‘有效qmake調用’行然後讀取
qmake /Users/m/Documents/ProgrammeringOSX/testC11/testC11.pro -r -spec macx-clang CONFIG+=debug CONFIG+=x86_64 CONFIG+=declarative_debug CONFIG+=qml_debug CONFIG+=c++11
...錯誤仍然存在。
:(
謝謝。試了一下,無論有沒有LIBS和QMAKE的東西,我通過谷歌發現的許多網頁中提到的東西。已經通過我的問題的「最小化娛樂」進行了更新。 – Daniel
仍然無法用您的步驟重現錯誤。這是你在路上唯一的qmake嗎? –
剛剛在相關問題上看到了此建議。將以下內容添加到.pro文件中: QMAKE_CXXFLAGS + = -std = C++ 11 -stdlib = libC++ -mmacosx-version -min = 10.7 LIBS + = -stdlib = libC++ -mmacosx-version-min = 10.7 http ://stackoverflow.com/a/15759514/798377 –