多个子项目共享预处理宏定义,即共享库

Shared preprocessing macro definition among multiple sub-projects, i.e. shared libraries

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

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


我的样本预处理宏:

#define PI 3.1415926

添加到 *.pro 个文件:

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

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

config.pri

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

sub_project.pro

include (/path/to/config.pri)

虽然这会迫使您修改每个 sub-projects.pro 文件。