要定义要使用的C和c++编译器,可以定义CC
而且CXX
环境变量。例如:
shell> CC=gcc shell> CXX=g++ shell> export CC CXX
要指定自己的C和c++编译器标志,对于不影响优化的标志,请使用CMAKE_C_FLAGS
而且CMAKE_CXX_FLAGS
CMake选项:
cmake . .-DCMAKE_C_FLAGS =your_c_flags\ -DCMAKE_CXX_FLAGS =your_c + + _flags
在提供自己的编译器标志时,您可能希望指定CMAKE_BUILD_TYPE
也
例如,要在64位Linux机器上创建32位版本,请执行以下操作:
cmake . .-DCMAKE_C_FLAGS=-m32 \ -DCMAKE_CXX_FLAGS=-m32 \ -DCMAKE_BUILD_TYPE=RelWithDebInfo
如果您设置了影响优化的标志(- o
),则必须设置数量
CMAKE_C_FLAGS_
和/或build_type
CMAKE_CXX_FLAGS_
选项,build_type
build_type
对应于CMAKE_BUILD_TYPE
价值。要为默认生成类型指定不同的优化(RelWithDebInfo
)设置CMAKE_C_FLAGS_RELWITHDEBINFO
而且CMAKE_CXX_FLAGS_RELWITHDEBINFO
选项。例如,在Linux上编译o3
使用调试符号,执行以下操作:
cmake . .-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O3 -g" \ -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O3 -g"