简要
如何在pro
文件中告诉我的子项目哪个子目录,而不必在每个#include
指令中为子目录添加前缀?
问题描述
我有一个包含多个库的大型项目。另外,我正在查看一个具有大量类的库。我试图以这样的方式组织它,以便更容易一目了然地看到一切。
我正在使用Qt Creator。进行逻辑分组的唯一方法是创建文件夹。
“pro”文件看似合乎逻辑:
SOURCES += sample.cpp \
class1.cpp \
class2.cpp \
interfaces/interface1.cpp \
interfaces/interface2.cpp
在每个文件中,我必须包含其中一个标题,我还必须添加文件夹:
#include "interfaces/interface1.cpp"
我不会再考虑这个,除了......
对于外部库或应用程序,我可以添加他们的专业文件(或包含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"
为子目录创建.pri文件。并在.pro文件中包含.pri。