在C++中,使用CMake進行編譯時,可以通過以下方法設置編譯選項:
在CMakeLists.txt
文件中直接設置編譯選項。例如,要設置C++標準為c++11
,可以在CMakeLists.txt
文件中的任意位置添加以下代碼:
set(CMAKE_CXX_STANDARD 11)
類似地,可以設置其他編譯選項,如優化級別、調試信息等。例如,要將優化級別設置為-O2
,可以添加以下代碼:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
在命令行中使用-DCMAKE_CXX_FLAGS
參數傳遞編譯選項。例如,要將C++標準設置為c++11
并將優化級別設置為-O2
,可以在命令行中執行以下命令:
cmake -DCMAKE_CXX_STANDARD=11 -DCMAKE_CXX_FLAGS="-O2" ..
請注意,這種方法可能會覆蓋在CMakeLists.txt
文件中設置的編譯選項。因此,建議首先在CMakeLists.txt
文件中設置編譯選項,然后在需要時使用命令行參數進行覆蓋。
使用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)
使用此方法,可以為不同的目標設置不同的編譯選項。