2016-01-20 1 views
1

J'ai essayé de "lier" deux projets ensemble. Donc un projet connaît les autres classes. Un projet est le programme, l'autre projet est un programme d'essai pour le premier. Donc, je veux que le programme de test ait accès aux autres classes pour que je puisse les tester.Qt un projet connaît les autres classes

Les deux projets sont des sous-projets. Ils sont placés sous le projet d'en-tête, les dossiers sont les uns à côté des autres.

Avoir essayé plusieurs façons mais sans résultat.

Head.pro

TEMPLATE = subdirs 

SUBDIRS += \ 
    MT \ 
    Test 

MT.pri même dossier que le programme.

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

Cela semble être une question concernant la configuration du chemin d'accès de votre compilateur. Qu'avez-vous essayé jusqu'à présent? – SmokeDispenser

+0

J'ai essayé d'utiliser le fichier .pri, a également essayé d'inclure le chemin dans le fichier pro d'autres projets. Sont un noob à ce genre de choses. – starfable

+0

Comment voulez-vous dire? – starfable

Répondre

1

Utilisation dans le projet d'essai:

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

utilisation dans un autre projet

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

fonctionne bien

+0

'' xml'' est juste par exemple –

+0

Le dernier est-il pour le fichier .pri ou le fichier .pro? – starfable

+0

Peut-être aider, mais n'a pas trouvé de symbole (s) pour l'architecture x86_64 lorsque j'ai créé un objet dans Test à partir d'une classe dans MT. – starfable