【问题标题】:How to update shared library file如何更新共享库文件
【发布时间】:2020-10-06 10:04:44
【问题描述】:

我正在尝试将通过libtoolclang 编译的.lo 目标文件添加到共享库文件中。

$ libtool --tag=CC --mode=compile clang -c newobject.c -shared

有没有等价的命令

$ ar r libmylib.a newobject.o

对于共享库?

或者,有没有办法转储所有已包含在 .so 文件中的 .lo 文件,以便我可以使用此命令重新创建共享库?

$ libtool --mode=link ld -soname libmylib.so -o libmylib.so.1 libmylib.so.0 newobject.o

【问题讨论】:

  • 否;您必须将整个库与所有目标文件重新链接。
  • 有没有办法从旧的共享库文件中提取剩余的目标文件?
  • 我不知道。某些平台上可能有这样做的工具,但我还没有听说过这样的工具。

标签: clang ld libtool unix-ar


【解决方案1】:

没有办法增量更改共享库。您需要所有组件对象文件并每次都从这些文件中重建共享库。

我不知道从共享库中提取目标文件的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 2020-08-06
    相关资源
    最近更新 更多