Pythonの最小限の部分を、内部スクリプト用のiOSアプリケーションの一部(静的ライブラリ)として機能させるようにしています。Mac OS X(10.7)でconfigureを使用しましたが、成功しました。次に、コンパイル可能でリンク可能なXCodeプロジェクトを非常に高速に取得しました。問題は、Pythonを使用しようとすると
Py_NoSiteFlag=1;
Py_Initialize();
「致命的なPythonエラー:例外ブートストラップエラー」というエラーで失敗します。_PyExc_Init()内。デバッグしようとしましたが、残念ながら失敗する理由がわかりません。私はPythonソースを知らないからかもしれませんが、とにかく、それを移植する必要があります。2.7.3または3.2.3を試してみましたが、上記と同じ結果でした。解決策やヒントは非常に役立ちます。
コールスタック:
#0 0x300cba1c in __pthread_kill ()
#1 0x362e43ba in pthread_kill ()
#2 0x362dcbfe in abort ()
#3 0x00127d96 in Py_FatalError at /Users/mac_user/Downloads/Python-3.2.3/IOS/pythoncore/../../Python/pythonrun.c:2169
#4 0x00155328 in _PyExc_Init at /Users/mac_user/Downloads/Python-3.2.3/IOS/pythoncore/../../Objects/exceptions.c:2042
#5 0x00127ad4 in Py_InitializeEx at /Users/mac_user/Downloads/Python-3.2.3/IOS/pythoncore/../../Python/pythonrun.c:272
#6 0x0012846a in Py_Initialize at /Users/mac_user/Downloads/Python-3.2.3/IOS/pythoncore/../../Python/pythonrun.c:332
#7 0x000d6242 in testpython at /Users/mac_user/Downloads/Python-3.2.3/IOS/test/test/testmac.c:15
#8 0x000d618e in -[ViewController viewDidLoad] at /Users/mac_user/Downloads/Python-3.2.3/IOS/test/test/ViewController.m:23
#9 0x3283ff0e in -[UIViewController view] ()
#10 0x3283e2b4 in -[UIWindow addRootViewControllerViewIfPossible] ()
#11 0x3283a332 in -[UIWindow _setHidden:forced:] ()
#12 0x3283e28e in -[UIWindow _orderFrontWithoutMakingKey] ()
#13 0x3284cc60 in -[UIWindow makeKeyAndVisible] ()
#14 0x000d5ffe in -[AppDelegate application:didFinishLaunchingWithOptions:] at /Users/mac_user/Downloads/Python-3.2.3/IOS/test/test/AppDelegate.m:35
#15 0x3283e820 in -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] ()
#16 0x32838b64 in -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] ()
#17 0x3280d7d6 in -[UIApplication handleEvent:withNewEvent:] ()
#18 0x3280d214 in -[UIApplication sendEvent:] ()
#19 0x3280cc52 in _UIApplicationHandleEvent ()
#20 0x322b7e76 in PurpleEventCallback ()
#21 0x3113ba96 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
#22 0x3113d83e in __CFRunLoopDoSource1 ()