作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我的项目链接到静态库 libA.a 版本 1。
此可执行文件还链接到另一个静态库 B。B 链接到 A,但版本 2。
A 的版本 1 和版本 2 中的两个符号集是相同的。如果我知道在我的项目和 B 之间没有共享任何与 A 相关的内容,这是否可行?
我设法手动链接它,它似乎可以工作(也许有我不知道的陷阱)。
我无法将库 B 设为共享对象,也无法将 A 用作共享对象。实际上,我只知道 B 正在静态使用 A,因为我和写 B 的人谈过。
最佳答案
我有待纠正,但您似乎可以通过仔细的编译过程和明智地使用 objcopy 来完成您想要的。您应该遵循的步骤是:
objcopy --localize-symbols infile outfile
,然后查看 here了解详情。我从未在实践中这样做过,但所有构建基 block 似乎都已就位。第 4 步是最难的,因为您必须识别所有冲突的符号 - 可能是手动的。
关于c - 链接到静态库的多个版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13931368/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!