在文件夹中组织Qt项目文件,并简化包含

问题描述 投票:2回答:1

简要

如何在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"

我不会再考虑这个,除了......

对于外部库或应用程序,我可以添加他们的专业文件(或包含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"
qt build project-organization
1个回答
2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.