c++ cmake编译如何设置编译选项

avatar
作者
筋斗云
阅读量:0

在C++中,使用CMake进行编译时,可以通过以下方法设置编译选项:

  1. CMakeLists.txt文件中直接设置编译选项。例如,要设置C++标准为c++11,可以在CMakeLists.txt文件中的任意位置添加以下代码:

    set(CMAKE_CXX_STANDARD 11) 

    类似地,可以设置其他编译选项,如优化级别、调试信息等。例如,要将优化级别设置为-O2,可以添加以下代码:

    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") 
  2. 在命令行中使用-DCMAKE_CXX_FLAGS参数传递编译选项。例如,要将C++标准设置为c++11并将优化级别设置为-O2,可以在命令行中执行以下命令:

    cmake -DCMAKE_CXX_STANDARD=11 -DCMAKE_CXX_FLAGS="-O2" .. 

    请注意,这种方法可能会覆盖在CMakeLists.txt文件中设置的编译选项。因此,建议首先在CMakeLists.txt文件中设置编译选项,然后在需要时使用命令行参数进行覆盖。

  3. 使用target_compile_options命令为特定目标设置编译选项。例如,要为名为my_target的目标设置C++标准为c++11和优化级别为-O2,可以在CMakeLists.txt文件中添加以下代码:

    add_executable(my_target main.cpp) target_compile_options(my_target PRIVATE -std=c++11 -O2) 

    使用此方法,可以为不同的目标设置不同的编译选项。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!