В файлах #include нужно указывать относительно текущего файла. В таком случае includepath можно не указывать, компилятор производит автоматический поиск относительно компилируемого файла.
Например,
src
- first
- signal.h
- first.cpp
- second
- signal.h
- main
- main.cpp
main.cpp
#include "../first/signal.h" // правильно
#include "../second/signal.h" // правильно
first.cpp
#include "signal.h" //правильно, равно first/signal.h, вне зависимости от includepath
Но если main.cpp будет такого вида:
#include "signal.h" // неверно, хотя и будет работать, если установлен INCLUDEPATH
и присутствует includepath, то выберется тот signal.h, папка которого находится раньше в includepath.
По мере разрастания проекта или выделения библиотеки позволяется для поиска хедеров в определенной директории установить INCLUDEPATH.
http://www.mingw.org/wiki/IncludePathHOWTO
Например,
src
- first
- signal.h
- first.cpp
- second
- signal.h
- main
- main.cpp
main.cpp
#include "../first/signal.h" // правильно
#include "../second/signal.h" // правильно
first.cpp
#include "signal.h" //правильно, равно first/signal.h, вне зависимости от includepath
Но если main.cpp будет такого вида:
#include "signal.h" // неверно, хотя и будет работать, если установлен INCLUDEPATH
и присутствует includepath, то выберется тот signal.h, папка которого находится раньше в includepath.
По мере разрастания проекта или выделения библиотеки позволяется для поиска хедеров в определенной директории установить INCLUDEPATH.
http://www.mingw.org/wiki/IncludePathHOWTO
Комментариев нет:
Отправить комментарий