小编Rok*_*nus的帖子

在现代 CMake 中定义预处理器

我目前正在学习 CMake,不想养成坏习惯,因为在 CMake 中总是有两种方法可以做某事(从我所看到的旧方法和现代方法)

阅读了有关 CMake 中预处理器的一些文档并检查了这篇文章后: 通过 cmake 定义预处理器宏

我得出的结论是,我可以将预处理器定义为:

  • add_compile_definitions(FOO)
  • target_compile_definitions(myTarget PRIVATE FOO)
  • add_definitions(-DFOO)

经过一些测试后,他们实际上一切都按预期工作并定义FOO

但现在我的问题是我应该使用的最“现代”的方式是什么以及每个函数之间的真正区别是什么,我注意到的唯一区别是如果我使用它然后在父目标中target_compile_definitions(myTarget PUBLIC FOO)定义。FOO

c++ preprocessor cmake

6
推荐指数
1
解决办法
7276
查看次数

标签 统计

c++ ×1

cmake ×1

preprocessor ×1