[√]添加预处理的2个不同方式:target_compile_definitions / add_definitions

简介: [√]添加预处理的2个不同方式:target_compile_definitions / add_definitions
add_definitions("-Ddef1")
add_executable(${app} ./main.cpp)
target_compile_definitions(${app} PRIVATE def2)

target_compile_definitions(${app} PRIVATE def2)

def1会出现在所有的项目中,跟书写的前后顺序没有任何关系,即时放在target后边,target也会加上

def2仅仅会出现在目标项目中

以下几种写法是等价的

target_compile_definitions(vld PRIVATE "-Ddef")
target_compile_definitions(vld PRIVATE "def")
target_compile_definitions(vld PRIVATE def)

target_compile_definitions向指定的target添加预处理器宏定义

target_compile_definitions是在构建工具中用于设置目标编译定义(Target Compile Definitions)的指令或属性。

在许多构建工具和编译器中,编译定义是一种方式,允许在编译过程中为源代码文件定义预处理变量。这些编译定义可以通过条件编译语句在源代码中进行条件性的编译。

通过使用target_compile_definitions,你可以向构建系统传递特定的编译定义,以便有条件地编译源代码文件或启用特定的功能。

add_definitions是向所有的编译器都添加预处理器宏定义

add_definitions是一个CMake命令,用于向CMake项目添加编译定义(Compile Definitions)。

在CMake中,编译定义是一种预处理变量,它可以在编译过程中为源代码文件定义,并且可以通过条件编译语句在源代码中进行条件性编译。add_definitions命令允许你向整个项目或特定的目标添加编译定义。

使用add_definitions命令的语法如下:

cmakeCopy Code
add_definitions(-DDEFINE_NAME1 -DDEFINE_NAME2 ...)

你可以在命令行中列出要添加的编译定义,每个定义以-D前缀开头。你可以指定一个或多个编译定义,用空格分隔开。

目录
相关文章
|
Unix 编译器 Linux
CMake Install:深度解析与实践(一)
CMake Install:深度解析与实践
1312 0
|
计算机视觉 Windows
Qt实用技巧:实现窗口透明的五种方法
Qt实用技巧:实现窗口透明的五种方法
Qt实用技巧:实现窗口透明的五种方法
|
机器学习/深度学习 并行计算 Shell
docker 获取Nvidia 镜像 | cuda |cudnn
本文分享如何使用docker获取Nvidia 镜像,包括cuda10、cuda11等不同版本,cudnn7、cudnn8等,快速搭建深度学习环境。
8250 0
|
存储 Shell iOS开发
CMake中文手册_target_link_libraries(3.26)
CMake中文手册_target_link_libraries(3.26)
1849 0
|
JSON 人工智能 数据格式
AI计算机视觉笔记二十六:YOLOV8自训练关键点检测
本文档详细记录了使用YOLOv8训练关键点检测模型的过程。首先通过清华源安装YOLOv8,并验证安装。接着通过示例权重文件与测试图片`bus.jpg`演示预测流程。为准备训练数据,文档介绍了如何使用`labelme`标注工具进行关键点标注,并提供了一个Python脚本`labelme2yolo.py`将标注结果从JSON格式转换为YOLO所需的TXT格式。随后,通过Jupyter Notebook可视化标注结果确保准确性。最后,文档展示了如何组织数据集目录结构,并提供了训练与测试代码示例,包括配置文件`smoke.yaml`及训练脚本`train.py`,帮助读者完成自定义模型的训练与评估。
5872 2
|
Unix
深入理解 CMake 的 `cmake --build` 命令
深入理解 CMake 的 `cmake --build` 命令
3162 1
|
网络协议 Ubuntu Linux
VSCode使用Remote SSH远程连接Linux服务器【远程开发】
VSCode使用Remote SSH远程连接Linux服务器【远程开发】
|
前端开发
Typora更换炫酷主题(含主题下载云盘链接)
Typora更换炫酷主题(含主题下载云盘链接)
4388 0
Typora更换炫酷主题(含主题下载云盘链接)
|
JSON 开发工具 开发者
CMake进阶教程:深入FetchContent与ExternalProject模块
CMake进阶教程:深入FetchContent与ExternalProject模块
1656 0