Qt - QMAKE_LIBDIR против LIBS

Можно найти множество примеров, где QMAKE_LIBDIR используется для указания дополнительных библиотечных каталогов.

Руководство по Qt гласит:

QMAKE_LIBDIR

Определяет список путей к системной библиотеке. Значение этой переменной обычно обрабатывается qmake или qmake.conf и редко нуждается в изменении.

До сих пор я всегда использовал "unix: -L$$(LIB_DIR) -l" или подобное, когда я хотел использовать внешнюю библиотеку в одном из моих проектов и не хотел использовать мастер библиотек.

Могу ли я сделать вывод, что указывать путь через -L не рекомендуется, даже если в руководстве нет соответствующего утверждения? (Согласно этому посту это не рекомендуется - но почему?)

Заранее спасибо.

2 ответа

Решение

В некотором смысле есть соответствующее утверждение. Положить ваши -Lpath/to/dir в LIBS переменная:

http://doc.qt.io/qt-5/qmake-variable-reference.html

ЛИЭС

Определяет список библиотек, которые будут связаны в проекте. Если вы используете флаги Unix -l (библиотека) и -L (путь к библиотеке), qmake правильно обрабатывает библиотеки в Windows (то есть передает полный путь к библиотеке компоновщику). Библиотека должна существовать для qmake, чтобы найти каталог, в котором находится -l lib.

Например:

unix: LIBS + = -L / usr / local / lib -lmath

win32: LIBS + = c: /mylibs/math.lib

Итак, используя -L в LIBS фактически поощряется документами Qt

Вы можете установить QMAKE_LIBDIR внешне без редактирования *.pro файл в отличие от LIBS:

qmake QMAKE_LIBDIR=~/build/obj/

Другие вопросы по тегам