这似乎应该非常简单,但似乎并没有像人们期望的那样去做。
我在qt creator中打开了两个独立的c ++项目,我希望在另一个项目中包含/编译一个项目。
这是我的布局:
project_a/
project_a.pro
someheaders.h
somecode.cpp
main.cpp
project_b/
project_b.pro
someheaders.h
somecode.cpp
main.cpp
基本上我希望能够在项目b中包含project_a中的文件。我已经将project_a设置为project_b中的依赖项,但这似乎完全无效,作为使用这两个项目的一种方法。我该怎么办?
答案 0 :(得分:5)
为了打开&将两个项目都构建为一个,使用类型为subdirs
的元项目:
TEMPLATE = subdirs
SUBDIRS += project_a project_b
# Use ordered build, from first subdir (project_a) to the last (project_b):
CONFIG += ordered
您应该将子项目any_name.pro
放到目录any_name
,并将此目录放在元项目.pro
文件旁边。
如果您想要包含其他项目的标题,请编写包含的project_a.pri
文件,例如:
# PWD expands to directory where project_a.pri placed.
INCLUDEPATH += $$PWD/
INCLUDEPATH += $$PWD/network
将此文件包含到project_b.pro:
include(../project_a/project_a.pri)
如果您想使用project_a作为库,请将其更改为TEMPLATE = lib
并使用向导添加库,在编辑器中打开project_b.pro
时可在上下文菜单中找到。