CMake設定編譯選項的幾種方法

2021-10-01 17:16:57 字數 754 閱讀 3598

cmake_c_compiler:指定c編譯器

cmake_cxx_compiler:指定c++編譯器

cmake_c_flags:指定編譯c檔案時編譯選項,也可以通過add_definitions命令新增編譯選項

在cmake指令碼中,設定編譯選項(配置編譯器)有如下三種方法:

(1)add_compile_options命令

add_compile_options(-wall -werror -wstrict-prototypes -wmissing-prototypes)

(2)add_definitions命令

add_definitions("-wall -werror -wstrict-prototypes -wmissing-prototypes)

(3)set命令修改cmake_cxx_flags或cmake_c_flags

set(cmake_c_flags "-wall -werror -wstrict-prototypes -wmissing-prototypes)
使用這三種方式在有的情況下效果是一樣的,但請注意它們還是有區別的:

add_compile_options命令和add_definitions新增的編譯選項是針對所有編譯器的(包括c和c++編譯器),而set命令設定cmake_c_flags或cmake_cxx_flags變數則是分別只針對c和c++編譯器的。

CMake 編譯選項設定

在cmakelists.txt中可以通過修改cmake內建的環境變數來改變c或c 的編譯選項.cmake c flags cmake c flags debug g cmake c flags minsizerel os dndebug cmake c flags release o3 dndebu...

cmake中新增 g編譯選項

在cmake 3.12之前,新增編譯選項可以如下方式新增 add definitions wall g 新增了之後,就相當於在編譯的時候加上了 wall g選項 沒加之前 gcc c main.c o test 新增之後,相當於 gcc g wall c main.c o test書中給出的示例如下...

cmake設定交叉編譯

要在linux x86 64平台編譯出linux aarch64的可執行檔案 so,需要對應平台的交叉編譯工具鏈,同時要在cmake中進行設定,通常是為指定平台設定乙個toolchain檔案,通常該檔案要包含以下資訊 可以看到,toolchain中包含了編譯器資訊 c complier cxx co...