Как добавить путь включения в Qt Creator?

160

У меня есть проект, над которым я работаю в Qt creator, для которого требуется сторонняя библиотека. Я хочу добавить заголовки к пути включения для проекта. Как мне это сделать?

Натан Осман
источник

Ответы:

232

Если вы используете qmake, стандартную систему сборки Qt, просто добавьте строку в .proфайл, как описано в Справочнике по переменным qmake :

INCLUDEPATH += <your path>

Если вы используете свою собственную систему сборки, вы создаете проект, выбрав «Импорт проекта на основе Makefile». Это создаст несколько файлов в вашем каталоге проекта, включая файл с именем <your project name>.includes. В этом файле просто перечислите пути, которые вы хотите включить, по одному на строку. На самом деле все это говорит Qt Creator, где искать файлы для индексации для автозаполнения. Ваша собственная система сборки должна будет обрабатывать пути включения по-своему.

Как объяснено в Руководстве по Qt Creator , <your path>должен быть абсолютный путь, но вы можете избежать записей в вашем .proфайле для ОС, хоста или пользователя , используя $$PWDссылку на папку, содержащую ваш .proфайл, например

INCLUDEPATH += $$PWD/code/include
Джейсон Б
источник
2
Ладно. Это будет работать для меня просто отлично. Существует ли глобальная настройка для путей включения?
Натан Осман
Не то, чтобы я знал, но это не значит, что нет. Я ничего не вижу в опциях, которые выглядят так.
Джейсон Б
3
Неважно. Ваш ответ упоминает, INCLUDE_PATHно вы имели в виду INCLUDEPATH. Я исправлю ваш ответ :)
Натан Осман
6
QMAKE_CXXFLAGSВместо этого лучше использовать переменные, потому что они INCLUDEPATHглючные (по крайней мере, на данный момент - QT5). Т.е. когда я включил INCLUDEPATH += ../../../, QT просто случайно выбрал каталог по этому пути, и компилятор получил опцию -I../../../GUI.
Привет, Ангел,
4
@ Hi-Angel: Похоже, что INCLUDEPATHуказанное относится к каталогу сборки, а не к каталогу с, .proкак можно легко предположить. Как показано в моей правке к ответу, вы можете использовать `$$ PWD ', чтобы получить четко определенную папку для запуска пути включения.
ССК
6

Чтобы добавить глобальный путь включения, используйте настраиваемую команду для qmake в разделе Projects / Build / Build Steps в разделе «Дополнительные аргументы» следующим образом: "QT+=your_qt_modules" "DEFINES+=your_defines"

Я думаю, что вы можете использовать любую команду из * .pro файлов таким образом.

Алекс мальцев
источник
5

Для любого новичка в Qt Creator, такого как я, вы можете изменить файл .pro вашего проекта из Qt Creator:

введите описание изображения здесь

Просто дважды щелкните «имя вашего проекта» .pro в окне «Проекты» и добавьте путь включения в нижней части .pro-файла, как я сделал.

Адам
источник
5
Использование абсолютных путей к файлам - очень плохая идея. Всегда старайтесь использовать относительную файловую систему. QT предназначен для кроссплатформенности. И если вы скомпилируете тот же код на компьютере с Linux, компилятору не удастся найти такие имена файлов, как C: \. Более того, даже если вы переименуете исходную папку или переместите ее куда-нибудь на свой компьютер, он все равно потерпит неудачу, и вы каждый раз придется редактировать .pro-файл
Shivam Jha
0

Если вы используете пользовательские файлы Makefile, вы можете дважды щелкнуть файл .include и добавить его туда.

Карстен
источник