我如何强制automake创建一个标准的共享库,而不是libtoolized的库?通常,我会创建一个用完整路径引用并加载到主程序中的abc.so。有没有办法迫使AM也这么做?如果我将其列为_LIBRARY,automake会抱怨:'abc.so' is not a standard library name; did you mean 'libabc.a'
我只想澄清一下:是的,我只需要.so支持--没有静态支持。是的,我想要一个自定义的文件名。
发布于 2010-01-18 18:31:43
Automake不知道如何构建共享库,因为没有可移植的方法可以做到这一点。如果你想要与Automake共享库,你必须使用Automake+Libtool。请注意,您可以很容易地将libtool配置为在默认情况下不构建任何静态库(在configure.ac中使用LT_INIT([disable-static]) )。
发布于 2011-06-20 02:28:55
libtool是最好的选择。如果需要自定义名称,请将-module选项添加到_LDFLAGS,例如:
plugindir= /some/where
plugin_LTLIBRARIES= abc.la
abc_la_LDFLAGS= -module发布于 2010-01-20 22:03:27
libtoolized库是围绕一个或多个标准库的包装器。您可以在运行make之后在".libs“中找到这些库,或者在运行make install之后在"$prefix/lib”中找到它们。
在Linux机器上,您最终应该会找到一个名为"libabc.so“的文件。
https://stackoverflow.com/questions/2083533
复制相似问题