如何创建可重定位的应用程序
希望有人能帮助我。我有一些用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论