c++ - 多个子项目之间共享预处理宏定义,即共享库

标签 c++ qt c-preprocessor qt-creator

我有一个包含多个子项目的项目。一个子项目用于可执行文件,其余的子项目用于共享库。每个子项目都有自己的*.pro 文件。

我需要定义一个编译器预处理宏,但我不想在每个 *.pro 文件中重复定义它。是否可以在多个子项目之间共享宏定义?


我的示例预处理宏:

#define PI 3.1415926

添加到*.pro文件:

DEFINES += "PI=\"3.1415926\""

最佳答案

您可以在 .pri 文件(例如 config.pri)中定义宏,并将此 .pri 文件包含在子项目的每个 .pro 文件中。

配置.pri

DEFINES += "PI=\"3.1415926\""

sub_project.pro

include (/path/to/config.pri)

这会迫使您修改每个子项目的 .pro 文件。

关于c++ - 多个子项目之间共享预处理宏定义,即共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56218575/

相关文章:

c++ - 当要访问的对象被多次封装时,如何正确使用setter?

qt - 如何使两个并排的 Qt Windows 保持粘性并表现得像一个窗口?

C++预处理器

c - C语言中反斜杠的用法

c++ - 检测第一次通过 do-while

c++ - float 或 double 类型取决于指针的大小

c++ - Windows 7 异常代码 : 0xc0000409

c++ - Qt QToolBar 无法正常运行

c++ - 如何使用分布在大型项目中的多个#include 文件来预处理单个源文件?

C++ 重载 = 运算符