整理文件夹中的Qt项目文件,并简化其中的内容

时间:2018-10-04 15:38:27

标签: qt build project-organization

简介

如何告诉我的子项目pro文件中的子目录,而不必在每个#include指令中为子目录添加前缀?

问题描述

我有一个大型项目,其中包含多个库。另外,我正在研究一个具有大量类的库。我正在尝试以一种易于查看所有内容的方式来组织它。

我正在使用Qt Creator。进行逻辑分组的唯一方法是创建文件夹。

enter image description here

“ 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"

1 个答案:

答案 0 :(得分:2)

为子目录创建.pri文件。并在.pro文件中包含.pri。