Qt一个项目认识其他的类

Qt one project knows the other ones classes

曾尝试"link" 将两个项目放在一起。所以一个项目知道其他项目 类。一个项目是程序,另一个项目是第一个的测试程序。所以我希望测试程序能够访问其他程序 类 以便我可以测试它们。

两个项目都是子项目。 它们放在header project下,文件夹一个挨着一个。

尝试了很多不同的方法,但没有结果。

Head.pro

TEMPLATE = subdirs

SUBDIRS += \
    MT \
    Test

MT.pri 与程序相同的文件夹。

INCLUDEPATH  += $$PWD
SOURCES      += $$PWD/parser.cpp
HEADERS      += $$PWD/parser.h

MT.pro

QT       += core bluetooth gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = MT
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG += mobility

SOURCES += main.cpp\
    mainwindow.cpp \
    t.cpp \
    parser.cpp \
    devicediscovery.cpp

HEADERS  += mainwindow.h \
     parser.h \
     devicediscovery.h \
     t.h \
     typedefs.h

FORMS    += mainwindow.ui


MOBILITY =

INSTALLS += target

DISTFILES += \
    MT.pri

Test.pro

include(../MT/MT.pri)
QT       += widgets testlib core bluetooth gui

TARGET = tst_testmttest
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app

HEADERS += parser.h
SOURCES += tst_testmttest.cpp / parser.cpp
DEFINES += SRCDIR=\\"$$PWD/\\"

在测试项目中使用:

include(Path/to/OtherProject/file.pri)

在其他项目中使用

QT       += xml
INCLUDEPATH  += $$PWD
SOURCES      += $$PWD/parser.cpp
HEADERS      += $$PWD/parser.h

工作正常