关于 macos 下开发调用 dylib 的问题

2021-04-24 16:36:32 +08:00
 qdwang

目前在开发一个 mono 程序,包在.app 里。

我把编译后的 a.dylib 放在.app/Contents/MacOS/目录下。 mono 程序也是在这个目录下。

问题是,在我开发机器上,用install_name_tool -add_rpath @executable_path/ X.app/Contents/MacOS/mono_exec修正了这个可执行程序后,直接双击这个.app 就可以运行了。他能读到 a.dylib 。

但是我把这个.app ,分发到另一台 mac 上。。这个 a.dylib 又读不到了。。。

好奇怪。。这到底是什么原因?如何解决这个问题呢?

麻烦知道的朋友说一下原理,谢谢。

421 次点击
所在节点    问与答
2 条回复
7v9TEc53
2021-04-24 21:39:32 +08:00
用 macho_edit,顺便也助于你了解 load commands
qdwang
2021-04-26 10:42:26 +08:00
@7v9TEc53 谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/772942

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX