在使用CMakeLists.txt 文件编译c++的过程中,遇到一个问题
项目需要使用c++11,,于是使用以下CMakeLists文件
cmake_minimum_required(VERSION 2.8)
set(CMAKE_BUILD_TYPE "Release")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
project(a)
add_executable(a a.cpp)
但编译时出现问题,执行一次cmake,make编译时使用的不是c++11标准,只有执行两次cmake才可以。
最后发现问题出在语句的顺序上,修改以后为
cmake_minimum_required(VERSION 2.8)
project(a)
set(CMAKE_BUILD_TYPE "Release")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_executable(a a.cpp)
即把两条set语句放在project语句的后面就可以了。