Как сказать qmake использовать статические библиотеки, если существуют как динамические, так и статические версии? - PullRequest
4 голосов
/ 02 апреля 2012

У меня установлены статические и динамические версии Boost в /usr/local/lib, то есть существуют libboost_system.dylib и libboost_system.a.

В своем файле проекта qmake я добавил библиотеки компоновки Boost в компоновщиквот так: LIBS += -lboost_system

Могу ли я сказать qmake, чтобы он предпочитал статические версии без явного указания имени файла, чтобы я мог уменьшить объем кода qmake для получения статических ссылок на всех платформах?

Ответы [ 2 ]

0 голосов
/ 14 сентября 2012

Кажется, что это на самом деле невозможно, и указание абсолютных путей к библиотекам является гораздо лучшим решением (то есть, как CMake делает это по умолчанию).

0 голосов
/ 02 апреля 2012

Я не использовал qmake, но есть способ сделать gcc ссылку на статическую библиотеку, поставив -static flags для компоновщика.Все библиотеки, которые вы хотите связать статически, должны поставить после этого флага.

Я искал документ qmake и обнаружил, что вы можете изменить флаги ссылки, изменив переменную QMAKE_LFLAGS, или можете напрямуюдобавить этот флаг к LIBS

...