Qt Creator,如何将一个c ++项目添加到另一个?

joh*_*les 5 qt-creator

这似乎应该非常简单,但似乎并没有像人们期望的那样做到这一点.

我在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
Run Code Online (Sandbox Code Playgroud)

基本上我希望能够在项目b中包含来自project_a的文件.我已经将project_a设置为project_b中的依赖项,但这似乎完全无效,作为使用这两个项目的一种方法.我该怎么办?

Ser*_*bir 5

为了打开和构建两个项目,请使用类型为meta-project的项目subdirs

TEMPLATE = subdirs
SUBDIRS += project_a project_b
# Use ordered build, from first subdir (project_a) to the last (project_b):
CONFIG += ordered
Run Code Online (Sandbox Code Playgroud)

您应该将子项目放置any_name.pro到directory any_name,并将此目录放置在meta-project .pro文件的旁边。

如果要包含其他项目的标头,请编写project_a.pri包含以下内容的文件:

# PWD expands to directory where project_a.pri placed.
INCLUDEPATH += $$PWD/
INCLUDEPATH += $$PWD/network
Run Code Online (Sandbox Code Playgroud)

比将此文件包含到project_b.pro中:

include(../project_a/project_a.pri)
Run Code Online (Sandbox Code Playgroud)

如果要将project_a用作库,请将其更改为TEMPLATE = lib并使用向导添加库,该向导project_b.pro在编辑器中打开时可在上下文菜单中使用。