在文件夹中组织 Qt 项目文件,并简化包含
Organize Qt project files in folders, and simplify the includes
简介
如何在 pro
文件中告诉我的 sub-project 哪些是它的子目录,而不必在每个 #include
指令中为子目录添加前缀?
问题描述
我有一个大项目,包含多个库。另外,我正在查看一个拥有大量 类 的图书馆。我试图以一种更容易一目了然的方式组织它。
我正在使用 Qt Creator。进行我想到的逻辑分组的唯一方法是创建文件夹。
"pro" 文件看起来合乎逻辑:
SOURCES += sample.cpp \
class1.cpp \
class2.cpp \
interfaces/interface1.cpp \
interfaces/interface2.cpp
在我必须包含 headers 之一的每个文件中,我还必须添加文件夹:
#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"
为子目录创建 .pri 文件。并在 .pro 文件中包含 .pri。
简介
如何在 pro
文件中告诉我的 sub-project 哪些是它的子目录,而不必在每个 #include
指令中为子目录添加前缀?
问题描述
我有一个大项目,包含多个库。另外,我正在查看一个拥有大量 类 的图书馆。我试图以一种更容易一目了然的方式组织它。
我正在使用 Qt Creator。进行我想到的逻辑分组的唯一方法是创建文件夹。
"pro" 文件看起来合乎逻辑:
SOURCES += sample.cpp \
class1.cpp \
class2.cpp \
interfaces/interface1.cpp \
interfaces/interface2.cpp
在我必须包含 headers 之一的每个文件中,我还必须添加文件夹:
#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"
为子目录创建 .pri 文件。并在 .pro 文件中包含 .pri。