У мене є проект, над яким я працюю в Qt Creator, для якого потрібна стороння бібліотека. Я хочу додати заголовки до шляху включення для проекту. Як це зробити?
У мене є проект, над яким я працюю в Qt Creator, для якого потрібна стороння бібліотека. Я хочу додати заголовки до шляху включення для проекту. Як це зробити?
Відповіді:
Якщо ви використовуєте qmake, стандартну систему збирання Qt, просто додайте рядок у .pro
файл, як це зафіксовано у довідці змінної qmake :
INCLUDEPATH += <your path>
Якщо ви використовуєте власну систему складання, ви створюєте проект, вибравши "Імпорт проекту на основі Makefile". Це створить деякі файли у каталозі вашого проекту, включаючи файл з ім’ям <your project name>.includes
. У цьому файлі просто перерахуйте шляхи, які ви хочете включити, по одному на рядок. Дійсно, все це - сказати Qt Creator, де шукати файли для індексації для автоматичного завершення. Вашій власній системі побудови доведеться по-своєму обробляти включені контури.
Як пояснено в Посібнику для творців Qt , він <your path>
повинен бути абсолютним шляхом, але ви можете уникнути записів у вашому .pro
файлі, пов’язаних з ОС, хостом або користувачем , використовуючи $$PWD
посилання на папку, яка містить ваш .pro
файл, наприклад
INCLUDEPATH += $$PWD/code/include
INCLUDE_PATH
але ви мали на увазі INCLUDEPATH
. Я виправлю вашу відповідь :)
QMAKE_CXXFLAGS
замість цього використати змінні, тому що INCLUDEPATH
це баггі (принаймні на даний момент - QT5). Тобто, коли я включив INCLUDEPATH += ../../../
, QT просто випадковим чином вибрав каталог на цьому шляху, і компілятор отримав можливість -I../../../GUI
.
INCLUDEPATH
вказане відносно каталогу збірки, а не відносно каталогу з тим, .pro
як можна легко припустити. Як показано в моїй редакції відповіді, ви можете використовувати `$$ PWD ', щоб отримати чітко визначену папку, з якої слід розпочати шлях включення.
Для додавання глобального включення шляху використовуйте спеціальну команду для qmake в розділі Проекти / Створення / Створення в "Додаткові аргументи", як це:
"QT+=your_qt_modules" "DEFINES+=your_defines"
Я думаю, що ви можете використовувати будь-яку команду з файлів * .pro таким чином.
Для тих, хто абсолютно новий в Qt Creator, як я, ви можете змінити файл .pro свого проекту в межах Qt Creator:
Просто двічі клацніть на "назва вашого проекту" .pro у вікні Проекти та додайте шлях включення в нижній частині файлу .pro, як я це зробив.