简介
如何告诉我的子项目pro
文件中的子目录,而不必在每个#include
指令中为子目录添加前缀?
问题描述
我有一个大型项目,其中包含多个库。另外,我正在研究一个具有大量类的库。我正在尝试以一种易于查看所有内容的方式来组织它。
我正在使用Qt Creator。进行逻辑分组的唯一方法是创建文件夹。
“ pro”文件看起来合乎逻辑:
SOURCES += sample.cpp \
class1.cpp \
class2.cpp \
interfaces/interface1.cpp \
interfaces/interface2.cpp
在每个文件中,我必须包括一个标题之一,还必须添加文件夹:
#include "interfaces/interface1.cpp"
我不会再三考虑了,除了...
对于外部库或应用程序,我可以添加它们的pro文件(或包括pri文件)以告知当前库文件的位置:
INCLUDEPATH += $$PWD/../Sample
INCLUDEPATH += $$PWD/../Sample/interfaces
这创造了魔力:从任何外部库或应用程序中,我都不需要在文件夹位置之前为include指令添加前缀。
#include "interface1.cpp"
我无法从当前项目中进行这项工作。我不明白为什么,我想知道如何制作它,这样我就不再需要在include指令中广告文件夹路径(同时仍保持文件的视觉逻辑组织)。
摘要
对于上述结构,添加
INCLUDEPATH += $$PWD/../Sample/interfaces
在外部项目的po文件中,我可以包含以下文件:
#include "interface1.cpp"
我希望能够从当前项目文件中执行相同的操作。现在,我被迫包含这样的文件:
#include "interfaces/interface1.cpp"
答案 0 :(得分:2)
为子目录创建.pri文件。并在.pro文件中包含.pri。