Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 多个子项目共享预处理宏定义,即共享库_C++_Qt_C Preprocessor_Qt Creator - Fatal编程技术网

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

C++ 多个子项目共享预处理宏定义,即共享库,c++,qt,c-preprocessor,qt-creator,C++,Qt,C Preprocessor,Qt Creator,我有一个包含多个子项目的项目。一个子项目用于可执行文件,其余子项目用于共享库。每个子项目都有自己的*.pro文件 我需要定义一个编译器预处理宏,但我不想在每个*.pro文件中重复定义它。是否可以在多个子项目之间共享宏定义 我的示例预处理宏: #定义PI 3.1415926 添加到*.pro文件: DEFINES+=“PI=”3.1415926“ 您可以在.pri文件(例如config.pri)中定义宏,并将该.pri文件包含在子项目的每个.pro文件中 config.pri DEFINES

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

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


我的示例预处理宏:

#定义PI 3.1415926
添加到
*.pro
文件:

DEFINES+=“PI=”3.1415926“

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

config.pri

DEFINES += "PI=\"3.1415926\""
sub_project.pro

include (/path/to/config.pri)

这迫使您修改每个子项目.Pro文件。

您是否考虑使用<代码> *PRI <代码>文件并将其包含在您的<代码> PRO/<代码>文件中?As@ VHAHANCHO可能的副本在注释中建议,*PRI < /COD>文件通常用于此目的,对吗?在
*.pro
*.pri
之间没有太大的技术区别,但是使用.pri代替pro来表示
包含
指令确实是一种惯例。我不知道这个.pri命名约定()。我正在编辑答案。