我需要为这个例子制作层次结构。 Base和Components是包含标题和源的目录。我需要使用什么模板代替???
?在这些目录中使用什么模板?
App(???)
--Base
--Component1
--Component2
--Component3
CLI(app)
GUI(app)
test(app)
答案 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