首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Automake和标准共享库

Automake和标准共享库
EN

Stack Overflow用户
提问于 2010-01-18 10:06:43
回答 4查看 4K关注 0票数 7

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

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-01-18 18:31:43

Automake不知道如何构建共享库,因为没有可移植的方法可以做到这一点。如果你想要与Automake共享库,你必须使用Automake+Libtool。请注意,您可以很容易地将libtool配置为在默认情况下不构建任何静态库(在configure.ac中使用LT_INIT([disable-static]) )。

票数 6
EN

Stack Overflow用户

发布于 2011-06-20 02:28:55

libtool是最好的选择。如果需要自定义名称,请将-module选项添加到_LDFLAGS,例如:

代码语言:javascript
复制
plugindir= /some/where  
plugin_LTLIBRARIES= abc.la
abc_la_LDFLAGS= -module
票数 7
EN

Stack Overflow用户

发布于 2010-01-20 22:03:27

libtoolized库是围绕一个或多个标准库的包装器。您可以在运行make之后在".libs“中找到这些库,或者在运行make install之后在"$prefix/lib”中找到它们。

在Linux机器上,您最终应该会找到一个名为"libabc.so“的文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2083533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档