我試圖使用Visual Studio 2012中編譯以下文件這是未能從源代碼編譯的Qt 5.2.0 isnan:的Qt構建失敗因缺少的std ::在Visual Studio 2012
/qtdeclarative/src/qml/jsruntime/qv4value_p.h
,出現以下錯誤:
191: error C2039: _isnan: is not a member of std
191線包含以下內容:
return doubleValue() && !std::isnan(doubleValue());
According to cppreference,std::isnan
應該在頭文件cmath
中定義,因爲C++ 11。 Qt頭文件包含這個頭文件。當我在Visual Studio中檢查cmath
時,我看不到名爲isnan
的函數。
我的結論是VS2012缺少這個C++ 11的功能嗎?起初我以爲我可能不得不以某種方式啓用C++ 11支持,但根據this answer默認情況下啓用C++ 11支持。鑑於binary downloads for Qt are available for VS2010 and VS2012,顯然它可以與各自的編譯器一起構建。有什麼我失蹤?
什麼是你的Qt配置選項?你可以嘗試建設5.2.1嗎?令我感到困惑的是,VS2012構建是Qt的持續集成構建http://qt-project.org/wiki/CI_Configurations http://testresults.qt-project.org/ci/QtDeclarative_stable_Integration/latest-success/ – peppe