Попробовал «связать» два проекта вместе. Таким образом, один проект знает классы других. Один проект — это программа, другой — тестовая программа для первого. Поэтому я хочу, чтобы у тестовой программы был доступ к другим классам, чтобы я мог их протестировать.
Оба проекта являются подпроектами.
Они размещены под заголовком проекта, там папки находятся рядом друг с другом.
Пробовал много разных способов, но безрезультатно.
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.uiMOBILITY =
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
работает отлично
Других решений пока нет …