如何创建可重定位的应用程序

发布于 2024-10-24 23:54:55 字数 406 浏览 5 评论 0原文

希望有人能帮助我。我有一些用 python 编写的东西。这使用了很多库。 因此,我使用 virtualenv 创建了一个虚拟环境,并复制了该环境中需要的每个文件。然后我使用 Platypus 创建了一个 .app。当然,该应用程序无法正常工作,因为如果您在 .so 或 .dylib 上使用 otool -L,则链接会指向原始安装位置。知道我可以使用 install_name_tool 并设置新的绝对路径,该应用程序现在可以运行,但不可重定位。经过一番阅读后我发现,您可以为 Mac OS X 10.5+ 设置 -rpath。所以我将路径更改为 @rpath/lib/...dylib 并启动应用程序

-rpath @loader_path/../Resources/virt1

但它不起作用。所以我错过了什么或者做错了什么?

hope someone can help me. I have something programed in python. That uses a lot of libraries.
So I created a virtual environment with virtualenv and copied every file is needed in this environment. Then I used Platypus to create an .app. Of corse the app isn't working, because if you use otool -L on a .so or .dylib then the linking points to the original install location. Know I can use install_name_tool and set the new absolute path, the app works now, but is not relocatable. After a bit reading I find out, that you can set -rpath for Mac OS X 10.5+. So I changed the paths to @rpath/lib/...dylib and startet the app with

-rpath @loader_path/../Resources/virt1

But it isn't working. So I'm missing something or doing something wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文