【发布时间】:2011-04-08 07:25:34
【问题描述】:
我正在使用apple gcc 编译我要重新分发的dylib。由于各种原因,我使用了一些库,让我们说libz 以保持简单。
由于这个库通常不会在 Mac 系统上找到,我希望通过将路径传递给 .a-file 来将 static link in 使用的符号放入 dylib 以简化部署。
现在,链接器将 all 符号中的符号从 lib 链接到生成的 dylib,尽管我只引用了一个子集。在 linux 上我从来没有遇到过这个问题,链接器很高兴地丢弃了所有未引用的符号并创建了一个非常苗条的可执行文件,所以它应该是可能的。我现在拥有的 dylib 文件比它应该的要大约 10 倍。
我尝试过使用 -dead_code 链接器标志,但无济于事。也许我只是不明白?
有人知道解决办法吗?
【问题讨论】: