当我尝试运行CMake生成的makefile来编译我的程序时,我得到了错误
C++ 98模式不支持基于范围的循环.
我尝试添加add_definitions(-std=c++0x)到我的CMakeLists.txt,但它没有帮助.我也试过这个:
if(CMAKE_COMPILER_IS_GNUCXX)
add_definitions(-std=gnu++0x)
endif()
Run Code Online (Sandbox Code Playgroud)
当我这样做时g++ --version,我得到:
g ++(Ubuntu/Linaro 4.6.1-9ubuntu3)4.6.1
我也试过SET(CMAKE_CXX_FLAGS "-std=c++0x"),这也行不通.
我不明白如何使用CMake激活C++ 11功能.
我在linux中编译我的程序 - 它有以下几行:
std::sqrt((double)num);
Run Code Online (Sandbox Code Playgroud)
在Windows上没关系,但是在linux上我得到'sqrt'不是'std'的成员我有一个包括math.h
有什么问题吗?