6

我正在尝试在 10.5 上部署在 Xcode 3.2.X(雪豹)上开发的 PyObjC(或 Cocoa-Python)应用程序,该应用程序在 10.6 系统上运行得非常好。

该应用程序未在 10.5 上启动;它在启动时崩溃并给出以下错误消息(在崩溃报告中找到):

Dyld 错误消息:未加载库:/System/Library/Frameworks/Python.framework/Versions/2.6/Python 引用自:/Users/myuser/Documents/myApp.app/Contents/MacOS/myApp 原因:找不到图像

似乎 Xcode 在某处硬编码了 Versions/2.6 python 框架路径(例如,而不是将其设置为 Versions/Current)。

但是,我无法找到可以修改此链接路径以设置为当前(或设置为 2.5,可能有条件)的位置...

4

2 回答 2

1

您看到的路径很可能是您链接的 Python 框架版本的合法路径。至少,对于最新版本的 SnowLeopard (10.6.5),这是正确的路径。您可能已经在 Xcode 项目中正确设置了框架的路径。

如果我不得不猜测,我会说当您遇到此崩溃时,您是在不同版本的 Mac OS X 上运行它,其中不存在 2.6 版本的 Python 框架。要探索此问题,请尝试导航到 Python 框架并列出您遇到此错误的系统上可用的版本:

cd /System/Library/Frameworks/Python.framework/Versions
ls -al

这给出了什么输出?我猜它没有显示版本 2.6 目录。您在哪个版本的 Mac OS X 上运行它?您可能需要针对较早版本的系统编译和链接您的应用程序,以使其在您看到此错误的任何系统上运行。

于 2010-12-03T03:12:58.420 回答
0

XCode 有所谓的 SDK,可用于从最近的版本定位到较早的 Max OS X 版本。

当前安装的 SDK 可以在 /Developer/SDKs 中找到。可以从 XCode DVD 安装其他 SDK。

在使用 XCode 创建的项目中,可以通过以下方式选择 SDK。打开 Get info of a target,在 Architectures 部分中找到 Base SDK 设置。选择您需要的 SDK 并重新构建。

例如,Mac OS X 10.5 SDK 包含 Python 版本 2.5 和 2.3,当前版本指向 2.5。

于 2011-01-16T21:24:07.287 回答