2011-01-28 73 views
3

我知道,我可以使用install_name_tool的-change选项更改存储在dylib依赖共享库的名字,但有没有办法删除相关共享库,我相信这是一个LC_LOAD_DYLIB命令,所以它当我在dylib上运行otool -L时不会显示出来?从dylib中删除依赖共享库?

+0

据我知道这种事情是不支持的。我可能是错的,但我还没有找到答案。我所知道的是某些黑客为我工作。我已经解决了通过简单地将它们更改为目录(通常是root:/)来删除相关库名称的需求。 – Joel 2012-02-01 13:41:32

回答

0

这个问题已经回答了here。但是要小心 - 删除LC_LOAD_DYLIB可能实际上会破坏可执行文件,因为您正在删除的DYLIB导出的符号可能无法在其他库中找到,从而导致可执行文件无法加载(DYLD通常会崩溃然后用ABORT陷阱)。