我正在尝试创建一个可以链接到Mac OS X的内置Python框架的应用程序,并使它可以在Mac OS X 10.5、10.6和10.7上运行。
如果我尝试硬链接到框架(默认设置),Leopard抱怨说他找不到10.7。 如果我尝试弱连接框架(在编译器标志中使用-weak_framework Python), 在这两种情况下,Mac OS X的部署目标都设置为10.5。
我的main.m看起来像这样:
#import <Python/Python.h>
#import <Cocoa/Cocoa.h>
int main(int argc, char *argv[])
{
Py_SetProgramName("/usr/bin/python");
Py_Initialize();
PyRun_SimpleString("import os; os.system('say okay')");
return 0;
} 该程序可在Mac OS X Lion上运行,但在Mac OS X Leopard上崩溃。它给出带有EXC_BAD_ACCESS(SIGBUS)异常的“异常退出:总线错误”(因为它指向地址0)。
有什么办法
可在此处获得测试程序的zip文件:
http://slurf.net/files/TheWeakestLink.zip
我不确定您要在这里做什么,但是这里有一些建议。在这三个操作系统版本中,系统Python框架唯一通用的Python版本是Python 2.5,因此您可以明确地针对该版本。但是,更有可能的是,最好将自己的Python框架包装在应用程序中。如果您小心翼翼,可以使用python.org 32位仅安装程序之一来实现此目的,尽管最好使用专门为10.5+构建的安装程序,尤其是如果您需要在10.7上为应用程序构建C扩展模块时。 py2app可以通过捆绑非系统Python框架来创建独立的Python应用,而无需使用Objective C前端。也许您可以将其用于您的目的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。