在 Mac 上根据几个 .dylib 分发应用程序的最简单方法是什么(压缩 .dylib 是否有效)?

问题描述 投票:0回答:1

我在 Mac 上使用 Crystal 构建了一个简单的应用程序,它似乎依赖于两个库 (.dylib)。

分发该应用程序的最简单方法是什么(将 .dylib 与给定目录中的可执行文件一起压缩),或者我是否必须使用像

install_name_tool
这样的工具来重写库的路径?

换句话说,如果所需的库与可执行文件位于同一目录中,可执行文件会找到它们还是Mac应用程序中硬编码的库路径?

otool -L ./bin/hello:
产量:

./bin/hello:
    /opt/homebrew/opt/bdw-gc/lib/libgc.1.dylib (compatibility version 7.0.0, current version 7.1.0)
    /opt/homebrew/opt/libevent/lib/libevent-2.1.7.dylib (compatibility version 8.0.0, current version 8.1.0)
    /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0)
macos packaging
1个回答
0
投票

是的,您需要使用

install_name_tool
更改应用程序搜索的路径

为了更轻松,您可以使用 macdylibdundler 执行所有必要的命令

© www.soinside.com 2019 - 2024. All rights reserved.