Russian Qt Forum

Qt => Вопросы новичков => Тема начата: DenisPA от Март 14, 2012, 20:14



Название: Хочу слинковать динамические библиотеки как статические
Отправлено: DenisPA от Март 14, 2012, 20:14
По этому поводу хочу добавить флаг g++`a "-static" но как это сделать? В гугле находил несколько статей но они кажись уже не актуальны, так как то что та говорили писать в ".pro" даже не подсвечивает синтаксис.


Название: Re: Хочу слинковать динамические библиотеки как статические
Отправлено: V1KT0P от Март 14, 2012, 20:18
По этому поводу хочу добавить флаг g++`a "-static" но как это сделать? В гугле находил несколько статей но они кажись уже не актуальны, так как то что та говорили писать в ".pro" даже не подсвечивает синтаксис.
Если ты хочешь статически прилинковать Qt4 то сперва ее надо пересобрать, как это делать ищи в гугле.


Название: Re: Хочу слинковать динамические библиотеки как статические
Отправлено: DenisPA от Март 14, 2012, 20:29
Хочу слинковать все зависимости! Не только Qt.


Название: Re: Хочу слинковать динамические библиотеки как статические
Отправлено: Alex Custov от Март 14, 2012, 23:40
библиотеки бывают двух видов - статические и динамические. Твой вопрос некорректен.

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

QMAKE_CXXFLAGS += -static

P.S. Qt для статической сборки нужно компилировать отдельно.
P.P.S. не думаю, что сделать 100% статический бинарник вообще возможно без пляски с бубном. Как минимум в Linux libc использует NSS плагины в виде .so-шек.