То, как может я вызывать автосделать для создания стандарта, совместно использовало библиотеку вместо libtoolized один? Обычно, я создал бы abc.so
на который ссылаются с полным путем и загружают в основную программу. Существует ли способ вынудить AM сделать то же? Если я перечисляю его как _LIBRARY, автосделайте, жалуется: 'abc.so' is not a standard library name; did you mean 'libabc.a'
Просто для уточнения: Да, мне только нужно .so
поддержка - никакие помехи. И да, я хочу пользовательское имя файла.
Automake не знает, как построить разделяемую библиотеку, так как нет портативного способа сделать это. Если вы хотите использовать разделяемую библиотеку с Automake, вы должны использовать Automake+Libtool. Обратите внимание, что по умолчанию libtool может быть легко настроен на то, чтобы не собирать статическую библиотеку (с помощью LT_INIT([disable-static])
в файле configure.ac
).
Библиотека libToolized - это обертка вокруг одной или нескольких стандартных библиотек. Вы можете найти эти библиотеки в «.Libs» после запуска «Make», или в «$ Prefix / lib» после запуска «Сделайте установку».
На машине Linux вы должны найти в конечном итоге файл под названием «libabc.so».
IIRC, в библиотеках, созданных с помощью libtool, нет ничего особенного, если только вы не ссылаетесь на libltdl. Если вы не хотите использовать libtool, у вас есть право выбора, и вы не слишком заботитесь о переносимости, тогда вы можете использовать automake без libtool. Я бы рекомендовал вместо этого использовать возможности libtool.
На самом деле, я даже не знаю, для чего нужна _LIBRARY, не нашел его в руководстве / разделе ссылок .