Задать путь включения со значением переменной среды - PullRequest
8 голосов
/ 17 июля 2009

Мы пытаемся использовать библиотеку MITK с Qt в Linux.

К сожалению, у MITK нет функции установки, и это также зависит от ITK и VTK. Таким образом, мы получаем файлы заголовков, разбросанные по многим каталогам.

Мы хотели бы указать список каталогов, добавляемых в путь включения, в переменную среды, например: INCPATH + = $ MITK_INCLUDE_PATH. Но это не похоже на работу.

Как мы могли этого достичь? Есть ли способ лучше?

Ответы [ 4 ]

11 голосов
/ 18 июля 2009

Только что сам нашел решение. Хотя я дал очко Aidos и cjhuitt за их ответы, которые поставили меня на правильный путь и сэкономили драгоценное время. Отдельное спасибо за ссылку на документацию qmake.

Во-первых, я должен изменить файл .pro, а не возиться с расширенными аргументами сборки.

Чтобы получить содержимое переменной окружения при обработке qmake, нужно использовать следующий синтаксис

ВКЛЮЧЕНО + = $$ (MITK_INCLUDE_PATH)

Обратите внимание, что для получения содержимого переменной среды при обработке make необходимо использовать следующий синтаксис

ВКЛЮЧЕНО + = $ (MITK_INCLUDE_PATH)

Но это не будет иметь тот же эффект, если переменная окружения содержит несколько путей. Первая форма тогда предпочтительнее.

Пути в переменной среды должны быть разделены пробелами, потому что; не распознается.

Если путь содержит пробелы, заключите его в кавычки. Пробелы между кавычками будут заменены на '\'.

3 голосов
/ 17 июля 2009

Вы пробовали добавить:

INCLUDEPATH += <the path to the MITK headers>

в файле .pro вашего проекта?

И, возможно, вам также потребуется отредактировать LIBS и DEPENDPATH.

См. Руководство по QMake

3 голосов
/ 18 июля 2009

Я думаю, что есть более чистый способ сделать это, но я не могу вспомнить. В любом случае, вы можете использовать директиву system:

INCLUDEPATH += $$system( echo $MITK_INCLUDE_PATH )

Вы также можете добавить его в зависимый путь:

DEPENDPATH += $$system( echo $MITK_INCLUDE_PATH )
0 голосов
/ 17 июля 2009

Я не знаю, но, может быть, вы можете попробовать написать как

INCPATH + =% MITK_INCLUDE_PATH%

в Windows, как правило, это так ..

но я не пробовал.

...