2016-10-26 8 views
0

У меня есть проект, который выглядит следующим образом:Неспособность найти MyClass.cpp

Состав:

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 

... 

Теперь, если я попытаюсь запустить qmake, я получаю предупреждение Failure to find MyClass.cpp. Есть ли другой способ, которым я могу сказать qmake, где он должен искать файлы * .cpp/h?

Я использую Qt 5.7 (что означает, что DEPENDPATH не будет работать).

ответ

1

Включаемые пути (INCLUDEPATH) используются только для операторов include внутри файла cpp/header. Нравится этим:

#include <someHeader> 

Для файла проекта вы должны указать относительный путь.

SOURCES += tmp/MyClass.cpp 
+0

Я знаю этот вариант, но есть ли другой способ? Что, если я, например, создаю еще одну папку (на том же уровне, что и 'src') и хочу включить много файлов из' src', мне действительно нужно вручную редактировать все пути, а не только одну? – carobnodrvo

+0

@carobnodrvo Я не могу протестировать его прямо сейчас, но если вы хотите ** все ** файлы cpp в каталоге checkout 'find' http://doc.qt.io/qt-5/qmake-test-function-reference. html # files-pattern-recursive-false Он также может работать рекурсивно в подкаталоги. – Hayt