Автосделайте и стандарт совместно использовал библиотеки

То, как может я вызывать автосделать для создания стандарта, совместно использовало библиотеку вместо libtoolized один? Обычно, я создал бы abc.so на который ссылаются с полным путем и загружают в основную программу. Существует ли способ вынудить AM сделать то же? Если я перечисляю его как _LIBRARY, автосделайте, жалуется: 'abc.so' is not a standard library name; did you mean 'libabc.a'

Просто для уточнения: Да, мне только нужно .so поддержка - никакие помехи. И да, я хочу пользовательское имя файла.

7
задан viraptor 18 January 2010 в 02:13
поделиться

3 ответа

Automake не знает, как построить разделяемую библиотеку, так как нет портативного способа сделать это. Если вы хотите использовать разделяемую библиотеку с Automake, вы должны использовать Automake+Libtool. Обратите внимание, что по умолчанию libtool может быть легко настроен на то, чтобы не собирать статическую библиотеку (с помощью LT_INIT([disable-static]) в файле configure.ac).

6
ответ дан 6 December 2019 в 15:22
поделиться

Библиотека libToolized - это обертка вокруг одной или нескольких стандартных библиотек. Вы можете найти эти библиотеки в «.Libs» после запуска «Make», или в «$ Prefix / lib» после запуска «Сделайте установку».

На машине Linux вы должны найти в конечном итоге файл под названием «libabc.so».

1
ответ дан 6 December 2019 в 15:22
поделиться

IIRC, в библиотеках, созданных с помощью libtool, нет ничего особенного, если только вы не ссылаетесь на libltdl. Если вы не хотите использовать libtool, у вас есть право выбора, и вы не слишком заботитесь о переносимости, тогда вы можете использовать automake без libtool. Я бы рекомендовал вместо этого использовать возможности libtool.

На самом деле, я даже не знаю, для чего нужна _LIBRARY, не нашел его в руководстве / разделе ссылок .

0
ответ дан 6 December 2019 в 15:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: