相关疑难解决方法(0)

使用CMake选项命令而不是设置的优点?

我认为该option命令是多余的,因为它可以被set命令替换.使用option命令时可以获得哪些好处?

cmake

13
推荐指数
1
解决办法
6332
查看次数

CMake - 将选项集成到C++源文件中

我正在使用现有项目并清理CMake.但是,现在我对如何将CMake选项集成到实际源代码中感到有点困惑.

为了简单起见,假设我只想执行一块代码,比如说cout << "print";,example.cpp如果在CMake ENABLE_PRINT上设置了值,则执行内部代码ON.

项目目录如下所示: 文件夹布局

使用上面的例子,我做了以下事情:

  1. 父项目上 CMakeLists.txt,我补充说OPTION( ENABLE_PRINT "Enable Print" ON)
  2. 然后,在示例子项目源文件夹 Config.h文件中,我添加了#define ENABLE_PRINT
  3. Config.h.in地处例如子项目,我加#cmakedefine ENABLE_PRINT
  4. 最后,在源文件中example.cpp,我包围了cout << "print";内部#ifdef ENABLE_PRINT#endif

进行这些更改后,项目将配置并生成就好了.但是,当我制作软件时,它会出错并且基本上告诉我,我所包围的代码块#ifdef根本没有被执行; 它被忽略了.换句话说,我采取的上述步骤除了"注释掉"我希望以ENABLE_PRINT为条件的代码块之外没有做任何事情.

那么,我将如何使这项工作?

c++ configure cmake c-preprocessor

4
推荐指数
1
解决办法
666
查看次数

标签 统计

cmake ×2

c++ ×1

c-preprocessor ×1

configure ×1