2016-10-26 4 views
0

Ich habe ein Projekt, das wie folgt aussieht:Failure finden MyClass.cpp

Struktur:

MyProject 
--- MyProject.pro 
--- .qmake.conf 
--- src 
    --- src.pro 
    --- tmp 
     --- MyClass.cpp 
     --- MyClass.h 

MyProject.pro

TEMPLATE = subdirs 
SUBDIRS = src 

.qmake.conf

TOP_DIR=$$PWD 

src.pro

... 

INCLUDEPATH += "$$TOP_DIR/src/tmp/" 

SOURCES += MyClass.cpp 

HEADERS += MyClass.h 

... 

Wenn ich nun versuche, qmake auszuführen, bekomme ich eine Warnung Failure to find MyClass.cpp. Gibt es eine andere Möglichkeit, qmake zu sagen, wo er nach * .cpp/h-Dateien suchen soll?

Ich verwende Qt 5.7 (was bedeutet, dass DEPENDPATH wird nicht funktionieren).

Antwort

1

Include-Pfade (INCLUDEPATH) werden nur für include-Anweisungen innerhalb der cpp/header-Datei verwendet. Wie diese:

#include <someHeader> 

Für die Projektdatei müssen Sie den relativen Pfad angeben.

SOURCES += tmp/MyClass.cpp 
+0

Ich bin mir dieser Option bewusst, aber gibt es andere Wege? Was passiert, wenn ich zum Beispiel einen anderen Ordner (auf der gleichen Ebene wie 'src') anlege und viele Dateien von' src' aufnehmen möchte, muss ich wirklich alle Pfade manuell bearbeiten, anstatt nur einen? – carobnodrvo

+0

@carobnodrvo Ich kann es jetzt nicht testen, aber wenn Sie wollen ** alle ** die cpp-Dateien im Verzeichnis checkout 'finden' http://doc.qt.io/qt-5/qmake-test-function-reference. html # files-pattern-recursive-false Es kann auch rekursiv in Unterverzeichnissen laufen. – Hayt