繁体   English   中英

将10.5(Leopard)的PyObjC应用程序编译为xcode 10.6(Snow Leopard)

[英]Compiling a PyObjC application for 10.5 (Leopard) into xcode 10.6 (Snow Leopard)

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

该应用程序不会在10.5上启动;它会在启动时崩溃,并显示此错误消息(在崩溃报告中找到):

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

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

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

您所看到的路径很可能是您链接的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? 您可能需要针对早期版本的系统编译和链接您的应用程序,以使其在您看到此错误的任何系统上运行。

XCode有所谓的SDK,可以用来定位最近的Max OS X版本。

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

在使用XCode创建的项目中,可以通过以下方式选择SDK。 打开获取目标信息,在“架构”部分中找到“基本SDK”设置。 选择您需要的SDK并重建。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM