Automake和标准共享库

vir*_*tor 7 automake shared-libraries

如何强制automake创建标准的共享库,而不是libtoolized库?通常,我创建的abc.so是以完整路径引用并加载到主程序中.有没有办法强制AM做同样的事情?如果我将其列为_LIBRARY,则automake会抱怨:'abc.so' is not a standard library name; did you mean 'libabc.a'

只是为了澄清:是的,我只需要.so支持 - 没有静态.是的,我想要一个自定义文件名.

ntd*_*ntd 7

libtool是要走的路.如果需要自定义名称,请将-module选项添加到_LDFLAGS,例如:

plugindir= /some/where  
plugin_LTLIBRARIES= abc.la
abc_la_LDFLAGS= -module
Run Code Online (Sandbox Code Playgroud)


adl*_*adl 6

Automake不知道如何构建共享库,因为没有可移植的方法.如果您需要使用Automake的共享库,则必须使用Automake + Libtool.请注意,默认情况下,您可以轻松地将libtool配置为不构建任何静态库(LT_INIT([disable-static])在您的中configure.ac).