2016-01-20 221 views
1

曾试图将两个项目“链接”在一起。所以一个项目知道其他类。一个项目是程序,另一个项目是第一个项目的测试程序。所以我希望测试程序能够访问其他类,以便测试它们。Qt一个项目知道其他类

这两个项目都是子项目。 它们被放置在标题项目下,文件夹彼此相邻。

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

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/\\\" 
+0

这似乎是一个关于编译器的include路径配置的问题。你试过什么了? – SmokeDispenser

+0

我试图使用.pri文件,也尝试在其他项目pro文件中包含路径。在这样的事情上是一个小菜。 – starfable

+0

你是什么意思? – starfable

回答

1

使用在测试项目:

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

使用在其他项目

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

正常工作

+0

''xml''只是例如 –

+0

最后一个是.pri文件还是.pro文件? – starfable

+0

也许有帮助,但是当我在MT中的一个类的Test中创建一个对象时,没有找到架构x86_64的符号。 – starfable

相关问题