我正在使用苹果 gcc来编译我要重新分发的 dylib。由于各种原因,我使用了一些库,让我们说libz
保持简单。
由于这个库通常不会在 Mac 系统上找到,我希望通过将路径传递给 dylib 来将使用的符号静态链接.a-file
到 dylib 中以简化部署。
现在,链接器将 lib 中的所有符号链接到生成的 dylib 中,尽管我只引用了一个子集。在linux上我从来没有遇到过这个问题,链接器很高兴地丢弃了所有未引用的符号并创建了一个非常苗条的可执行文件,所以它应该是可能的。我现在拥有的 dylib 文件比它应该的要大 10 倍左右。
我试过摆弄 -dead_code 链接器标志,但无济于事。也许我只是不明白?
有谁知道这个问题的解决方案?