栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

来自便捷库的符号未导出到可执行文件中

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

来自便捷库的符号未导出到可执行文件中

我设法解决了。约翰·卡索特(John Calcote)出色的《自动工具》(Autotools)书中的这条注释为我指明了正确的方向:

链接器将在命令行上显式指定的每个目标文件添加到二进制产品中,但是它们仅从归档中提取在链接的代码中实际引用的那些目标文件。

要抵消这种行为,可以使用该

--whole-archive
标志来libtool。但是,这也会导致从所有系统库中提取所有符号,从而导致许多双重符号定义错误。因此,
--whole-archive
需要
libconvenience.a
在链接器命令行上紧接其前,并且紧随其后,
--no-whole-archive
以免其他库受到这种对待。这有点困难,因为automake和libtool不能真正保证在命令行上将标志保持相同的顺序,但是这一行
Makefile.am
起到了作用:

myprogram_LDFLAGS = -Wl,--export-dynamic     -Wl,--whole-archive,libconvenience/libconvenience.a,--no-whole-archive


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/391789.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号