【Cmake】Cmake命令、参数和操作

博客介绍了Cmake的相关参数,包括DCMAKE_BUILD_TYPE用于设置编译类型,如Debug、Release;DCMAKE_C_COMPILER用于设置C编译器,如gcc;DCMAKE_CXX_COMPILER用于设置C++编译器,如g++。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cmake命令、参数和操作

Cmake参数

  • DCMAKE_BUILD_TYPE:设置编译的类型(e.g. Debug,Release)
cmake -DCMAKE_BUILD_TYPE=Debug
  • DCMAKE_C_COMPILER:设置C编译器(e.g. gcc,/usr/bin/gcc-7.4.0)
cmake -DCMAKE_C_COMPILER=gcc
  • DCMAKE_CXX_COMPILER:设置C++编译器(e.g. g++,/usr/bin/g+±7.4.0)
cmake -DCMAKE_CXX_COMPILER=g++
### CMake 命令参数及其功能说明 CMake 是一种跨平台的自动化构建系统工具,用于管理软件项目的编译过程。通过命令行传递不同的参数可以实现对项目配置生成行为的灵活控制。以下是常见的 `cmake` 命令参数及其功能说明: #### 通用参数 - **`-D <var>:<type>=<value>`**: 设置缓存变量 `<var>` 的值为指定类型 `<type>` 对应的值 `<value>`。此参数常用于定义构建选项或路径[^1]。 ```bash cmake -D BUILD_TESTS=ON .. ``` - **`-G "<generator name>"`**: 指定要使用的生成器名称。例如,可以选择 Makefile 或者 Visual Studio 解决方案作为目标生成环境。 ```bash cmake -G "Unix Makefiles" .. ``` - **`--build <dir>`**: 构建由 CMake 配置生成的工程目录中的内容。相当于调用了底层构建工具(如 make)。可以通过附加参数进一步定制构建方式。 ```bash cmake --build . --config Release ``` #### 路径相关参数 - **`-H<source dir>`**: 显式指明源码根目录的位置,默认情况下会自动检测当前工作目录下的子文件夹。 - **`-B<binary dir>`**: 设定二进制输出物的目标存储位置,即构建树所在的地方。 ```bash cmake -B build/ -S . ``` #### 输出与调试信息 - **`--trace`**: 开启跟踪模式,在执行过程中打印每一步操作细节到终端窗口以便于排查错误或者理解内部流程逻辑。 - **`--log-level=<level>`**: 控制日志记录级别,可选范围包括 DEBUG、VERBOSE、NOTICE 默认等级以及其他更高级别的过滤条件。 ```bash cmake --log-level=DEBUG .. ``` #### 版本查询及其他辅助特性 - **`--version`**: 展示当前运行实例所属版本号以及支持的功能集概述。 ```bash cmake --version ``` - **`-L[H][|A]`**: 列举所有可用的配置选项而不实际重新计算任何东西;加上 H 将隐藏帮助文本部分;加 A 表示显示高级设置项。 ```bash cmake -LAH .. ``` 以上列举了一些常用的 cmake 参数及它们的作用。具体应用时可以根据实际情况组合使用上述各项来满足特定需求。 ```python import subprocess def run_cmake_command(command_args): result = subprocess.run(['cmake'] + command_args, capture_output=True, text=True) if result.returncode != 0: raise Exception(f"CMake failed with error:\n{result.stderr}") return result.stdout if __name__ == "__main__": try: output = run_cmake_command(["--version"]) print(output) except Exception as e: print(e) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值