我有一个包含很多includepath,源文件和头文件的项目。该项目作为独立的应用程序运行(它不是一个库)。
我想为该应用程序的新功能实现测试(Qt单元测试框架),为此,我要求(应用程序)项目的包含,源和头文件在(测试)项目中可用。
我已尝试将以下内容放在测试项目.pro文件中:
include(../application/app.pro) #app.pro is the application project
然而,首先它抱怨main.cpp
,如果我发表评论,那就是解析错误。 (评论main.cpp是不好的,因为我正在改变主项目,以便测试将编译)
我可以通过手动复制(应用程序)项目中的所有includepath,source和header字段来获得我想要的行为,但我正在寻找一种更清洁的方式。
这样做的最佳方法是什么?是否有可能无痛地将一个.pro包含在另一个中?
答案 0 :(得分:3)
您应该执行两项修改:
例如,您将拥有build.pri:
# build.pri
TOPDIR = $$PWD
INCLUDEPATH += . \
$$TOPDIR/include
DEPENDPATH += $$TOPDIR
INCLUDEPATH += $$TOPDIR/additional/libararies
HEADERS += all.h \
your.h \
headers.h \
of.h \
interest.h
QT += xml
# etc., etc.
和core.pro
# core.pro
TEMPLATE = lib
CONFIG += dll thread create_prl
QT += network xml xmlpatterns sql
include(../build.pri)
HEADERS += \
headers.h
SOURCES += sources.cpp \
many_of_them.cpp
TARGET = core
# etc., etc.
(请注意include(../build.pri)
),然后将主项目app.pro
作为subdirs
项目,core
和gui
作为应用程序的组件, test.pro
具有义务core
和尽可能多的测试。