如何解决使用py2app生成的OSX应用程序中的dylib链接错误?

2024-04-29 00:57:41 发布

您现在位置:Python中文网/ 问答频道 /正文

你好,dylib链接的神秘艺术的守护者们

尝试使用python和pyosi构建pyosan应用程序。当我从源代码运行这个游戏时,它的工作非常有趣,但是当我将它与py2app打包在一起时,它无法找到libvorbisfile.dylib文件在

pygame.error: Failed loading libvorbisfile.dylib dlopen(libvorbisfile.dylib, 2): image not found

libvorbisfile及其所有依赖项都在py2app生成的Frameworks文件夹中(尽管我必须明确告诉它将它们放在那里)。在

当我检查libvorbisfile.dylib文件使用otool-D,它表明它与我的应用程序有关

@executable_path/../Frameworks/libvorbisfile.3.dylib

所有的深层次也是如此。即便如此,游戏显然是在/usr/local/lib文件夹中寻找.dylib。如果文件在那里(并且有正确的安装名设置),那么一切都正常。在

以下是我的实际问题: 1) 如何告诉应用程序使用frameworks文件夹中的dylib?-我怀疑我需要使用install_name_tool-change将某些内容链接到我的项目相对dylib,但我不知道在什么地方使用它。它是启动我的应用程序的文件吗?是其他的吗?dylib?它是SDL(pygame的后端)吗?是可可吗?问题2:

2)我怎样才能找到我的dylib到底在找什么?在

其他潜在相关信息: 当我最初安装libvorbis时,我将它与pygame所依赖的sdl\u混频器一起安装

brew install sdl_mixer --with-libvorbisfile

我尝试过在OSX10.10和OSX10.7.5上进行构建

任何智慧都将受到赞赏。在


Tags: install文件文件夹应用程序游戏链接艺术pygame