如何解决有没有像 -Wl,--whole-archive 这样的方法来强制 .so 库像 gcc 中的 .a 库一样加载?
我有一个使用主代码注册回调的库。不幸的是,这意味着除非库中引用了其他内容,否则不会拉入库。我使用 -Wl,--whole-archive 在库的 .a 版本中解决了这个问题。不幸的是,它似乎不适用于 .so 库。无论主代码是否知道该库存在,lib 都会修改主代码的功能,因此该库是否添加到链接中取决于是否需要其功能。
解决方法
这就是 -Wl,--no-as-needed
的用途。另请参阅 documentation for push-state option,其中显示了如何安全地使用其 --as-needed
对应项(在命令行上根据需要请求两个库的链接,而不更改后续库的先前行为)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。