|
|||||||
Время создания: 20.03.2016 22:41
Текстовые метки: c++, qt, include, подключение, заголовок, заголовочный файл, относительно, корень, INCLUDE_PATH
Раздел: Компьютер - Программирование - Язык C++ (Си++) - Библиотека Qt - Инсталляция Qt и сборка проектов
Запись: xintrea/mytetra_syncro/master/base/13883404549229a10leb/text.html на raw.github.com
|
|||||||
|
|||||||
Допустим, нам необходимо подключать заголовочные файлы относительно корня проекта. Надоело указывать относительные пути, потому что из разных каталогов проекта путь до одно и того же заголовка будет разный. Да и вообще относительные пути - это неправильно. Нам нужно научиться указывать пути до заголовочных файлов просто относительно корня проекта. Обычно, для компиляциив в Linux, можно добавлять в переменную окружения INCLUDE_PATH путь к каталогу проекта. После чего будут работать директивы #include с файлами относительно корня проекта. Вот что написано в "Стандарте программирования на C++. Версия 0.1.1.2b": ...препроцессор последовательно перебирает пути в INCLUDE_PATH начиная с первого. Относительный путь из директивы include разрешается относительно (sic) папки из INCLUDE_PATH. Если файл не найден, переходим к следующему элементу INCLUDE_PATH. Если INCLUDE_PATH исчерпан, компилятор сообщает об ошибке. Теперь вопрос: как подключать (инклюдить) заголовки относительно корня проекта кроссплатформенно на Qt? Ответ: начиная с версии Qt 4.5, в *.pro файле можно использовать переменную $${_PRO_FILE_PWD_}, которая содержит путь до *.pro файла. То есть, если сырцы лежат в поддиректории src относительно *.pro файла: .. [DIR] src [DIR] myprogram.pro то путь INCLUDE_PATH можно задать так: INCLUDEPATH += $${_PRO_FILE_PWD_}/src - эту строку надо прописывать в *.pro файле, в нашем случае в myprogram.pro. После этого в C++ коде можно будет указывать пути к файлам в директиве #include относительно корня проекта. |
|||||||
Так же в этом разделе:
|
|||||||
![]() |
|||||||
|
|||||||
|