温馨提示×

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

c++
小樊
81
2024-09-27 17:47:43
栏目: 编程语言

在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)
    

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

0