Як додати шлях включення в Qt Creator?


160

У мене є проект, над яким я працюю в Qt Creator, для якого потрібна стороння бібліотека. Я хочу додати заголовки до шляху включення для проекту. Як це зробити?

Відповіді:


231

Якщо ви використовуєте qmake, стандартну систему збирання Qt, просто додайте рядок у .proфайл, як це зафіксовано у довідці змінної qmake :

INCLUDEPATH += <your path>

Якщо ви використовуєте власну систему складання, ви створюєте проект, вибравши "Імпорт проекту на основі Makefile". Це створить деякі файли у каталозі вашого проекту, включаючи файл з ім’ям <your project name>.includes. У цьому файлі просто перерахуйте шляхи, які ви хочете включити, по одному на рядок. Дійсно, все це - сказати Qt Creator, де шукати файли для індексації для автоматичного завершення. Вашій власній системі побудови доведеться по-своєму обробляти включені контури.

Як пояснено в Посібнику для творців Qt , він <your path>повинен бути абсолютним шляхом, але ви можете уникнути записів у вашому .proфайлі, пов’язаних з ОС, хостом або користувачем , використовуючи $$PWDпосилання на папку, яка містить ваш .proфайл, наприклад

INCLUDEPATH += $$PWD/code/include

2
Добре. Це спрацює для мене просто чудово. Чи існує глобальна установка для включення шляхів?
Натан Осман

Не те, що я знаю, але це не означає, що його немає. Я нічого не бачу в варіантах, що виглядає так.
Джейсон Б

3
Не звертай уваги. Ваша відповідь згадує, INCLUDE_PATHале ви мали на увазі INCLUDEPATH. Я виправлю вашу відповідь :)
Натан Осман

6
Краще QMAKE_CXXFLAGSзамість цього використати змінні, тому що INCLUDEPATHце баггі (принаймні на даний момент - QT5). Тобто, коли я включив INCLUDEPATH += ../../../, QT просто випадковим чином вибрав каталог на цьому шляху, і компілятор отримав можливість -I../../../GUI.
Привіт-Ангел

4
@ Привіт-Ангел: Схоже, INCLUDEPATHвказане відносно каталогу збірки, а не відносно каталогу з тим, .proяк можна легко припустити. Як показано в моїй редакції відповіді, ви можете використовувати `$$ PWD ', щоб отримати чітко визначену папку, з якої слід розпочати шлях включення.
ssc

6

Для додавання глобального включення шляху використовуйте спеціальну команду для qmake в розділі Проекти / Створення / Створення в "Додаткові аргументи", як це: "QT+=your_qt_modules" "DEFINES+=your_defines"

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


5

Для тих, хто абсолютно новий в Qt Creator, як я, ви можете змінити файл .pro свого проекту в межах Qt Creator:

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

Просто двічі клацніть на "назва вашого проекту" .pro у вікні Проекти та додайте шлях включення в нижній частині файлу .pro, як я це зробив.


5
Використання абсолютних шляхів до файлів - дуже погана ідея. Завжди намагайтеся використовувати відносну систему файлових шляхів. QT розроблений для того, щоб бути крос-платформою. І якщо ви компілюєте той самий код на машині Linux, компілятор не зможе знайти такі імена файлів, як C: \ Більше того, навіть якщо ви перейменовуєте вихідну папку або перемістите її кудись ще на власному комп’ютері, вона все одно вийде з ладу, і ви доведеться редагувати файл .pro щоразу
Shivam Jha

0

Якщо ви використовуєте власні Makefiles, ви можете двічі клацнути файл .includes і додати його туди.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.