Qt项目层次结构

时间:2014-05-30 05:54:34

标签: qt qt-creator qmake project-organization

我需要为这个例子制作层次结构。 Base和Components是包含标题和源的目录。我需要使用什么模板代替????在这些目录中使用什么模板?

App(???)
--Base
--Component1
--Component2
--Component3
CLI(app)
GUI(app)
test(app)

1 个答案:

答案 0 :(得分:2)

您可以制作Subdirs项目并将子项目添加到其.pro文件中:

TEMPLATE = subdirs

CONFIG += ordered

SUBDIRS += \
    Base \
    Component1 \
    Component2 \
    Component3 \
    CLI \
    GUI \
    test

您应该首先在列表中引入其他人所依赖的子项目。另请注意,子项目的.pro文件的名称应与其文件夹名称相同。这样就可以检测子项目并在“项目”窗格中列出。

子项目Base,Component1,Component2和Component3可以是库。 Base的.pro文件的一部分:

TARGET = Base
TEMPLATE = lib

DEFINES += Base_LIBRARY

SOURCES += ...
HEADERS += ...

子项目CLI,GUI和测试应该是应用程序。 GUI的.pro文件的一部分:

TARGET = GUI
TEMPLATE = app

您可以通过将每个子项目链接到子项目来使用它们。这可以通过右键单击子项目并选择“添加库”然后选择“内部库”来完成。从子项目列表中选择一个库时,链接配置会自动添加到.pro中。它会像:

win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../Base/release/ -lBase
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../Base/debug/ -lBase
else:unix: LIBS += -L$$OUT_PWD/../Base/ -lBase

INCLUDEPATH += $$PWD/../Base
DEPENDPATH += $$PWD/../Base