Переведите makefile для создания статического libxxx.a вместо динамического libxxx.dylib

Я компилирую библиотеку (http://www.antisphere.com/Wiki/tools:anttweakbar), но выдача «make» с включенным make-файлом на моем Mac создает динамическую библиотеку (.dylib). Я бы предпочел иметь статическую библиотеку, чтобы я мог развернуть ее со своим приложением. Легко ли/возможно ли перевести флаги в make-файле для создания статической библиотеки?

Кажется, что "make" просто компилирует и связывает некоторый код C/C++.


person Alec Jacobson    schedule 17.09.2010    source источник
comment
Вот почему я хочу, чтобы люди просто использовали automake и libtool.   -  person Jack Kelly    schedule 18.09.2010


Ответы (2)


Не похоже, что он создает объекты с какими-либо флагами компиляции, специфичными для dylib, поэтому вы можете просто выполнить сборку библиотеки вручную, например:

make && ar cru libAntTweakBar.a && ranlib libAntTweakBar.a
person Jack Kelly    schedule 18.09.2010
comment
Это было более или менее решением, хотя привязка к статической библиотеке, которую я создал, была немного сложной. Вот мое окончательное решение для этой конкретной библиотеки: alecjacobson.com/weblog/?p=1370 - person Alec Jacobson; 05.10.2010

У меня для тебя плохие новости. Это, вероятно, мешает вам делать то, что вы хотите.

person jkerian    schedule 17.09.2010
comment
Тот факт, что @mangledorf не может создать полностью статический двоичный файл, не означает, что он не может создать статическую библиотеку. - person Jack Kelly; 18.09.2010