我正在尝试在Qt创建器中创建一个项目,其中表示层和业务逻辑层被分成子项目。这是我正在谈论的一个例子:
MainProject.pro | ---- BusinessLogic.pro | | | ---- source/header files | ---- PresentationLayer.pro | ---- source/header files
目前,我在表示层中的代码通过在.pro文件中指定INCLUDEPATH = ../BusinessLogic/headers
来引用业务逻辑项目中的头文件。它似乎有效,但是有更好的方法吗?也许甚至是推荐的方式?
我正在尝试使用lib文件做类似的事情,但是因为它们是在编译时生成的,并且它们可以位于发布或调试文件夹中,所以我不确定如何执行此操作。
这似乎是组织项目的一种非常常见的方式,但我似乎没有找到有关如何使用QtCreator或QMake完成此任务的更多信息。
答案 0 :(得分:2)
考虑包含不同的调试/发布库,您可以在项目文件中执行以下操作:
build_pass:CONFIG(debug, debug|release) {
LIBS += -L../BusinessLogic/bin/debug -lBusinessLogicd
}
else:build_pass {
LIBS += -L../BusinessLogic/bin/release -lBusinessLogic
}
假设您的BusinessLogic / bin / debug文件夹中有BusinessLogicd.lib,BusinessLogic / bin / release文件夹中有BusinessLogic.lib。
关于includepath,只要你在同一个主项目中,我认为相对路径是正常的。