6

現在、PyObjC アプリケーションを Snow Leopard で動作させる作業を行っており、スタンドアロン アプリのコンパイルに成功しました。私の質問は、これらのエラーがある場合、どうすればビルドを Leopard 互換にすることができるでしょうか?

dyld: lazy symbol binding failed: Symbol not found: _fopen$UNIX2003
  Referenced from: /Applications/MyApp.app/Contents/MacOS/MyApp
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _fopen$UNIX2003
  Referenced from: /Applications/MyApp.app/Contents/MacOS/MyApp
  Expected in: /usr/lib/libSystem.B.dylib

これは、Snow Leopard でコンパイルされた py2app アプリケーションです。また、Leopard でコンパイルすると、次のエラーが発生します。

Traceback (most recent call last):
  File "/Users/jofell/client/dist/MyApp.app/Contents/Resources/__boot__.py", line 31, in <module>
    _run('main.py')
  File "/Users/jofell/client/dist/MyApp.app/Contents/Resources/__boot__.py", line 28, in _run
    execfile(path, globals(), globals())
  File "/Users/jofell/client/dist/MyApp.app/Contents/Resources/main.py", line 17, in <module>
    from AppKit import *
  File "AppKit/__init__.pyc", line 10, in <module>
  File "Foundation/__init__.pyc", line 10, in <module>
  File "CoreFoundation/__init__.pyc", line 17, in <module>
  File "objc/_bridgesupport.pyc", line 129, in initFrameworkWrapper
  File "objc/_bridgesupport.pyc", line 53, in _parseBridgeSupport
ValueError: Unknown typestr
2009-08-29 19:30:14.530 MyApp[445:903] MyApp Error
2009-08-29 19:30:14.534 MyApp[445:903] MyApp Error
An unexpected error has occurred during execution of the main script

どんな助けでも大歓迎です。前もって感謝します。

4

3 に答える 3

3

私は最近これを行いましたが、トリックはLeopardインストールでスタンドアロンバージョンを構築することでした。

デフォルトでは、Python のオープン ソース バージョンがインストールされていない限り、py2app はOS ファイルへのシンボリック リンクを持つセミスタンドアロンアプリケーションを作成します。

代わりに、スタンドアロン バージョンのアプリケーションを作成すると、インタープリターとサポート ファイルがアプリケーション内に組み込まれるため、アプリケーションを実行するすべてのマシンで一貫性が保たれます。完全にスタンドアロンのアプリケーションを作成する手順については、こちらを参照してください。ただし、ブログの投稿後にいくつかの変更が加えられているため、ブログのコメントに注意してください。

必要な特定のライブラリがある場合は、setup.py ファイルでそれらを参照するか、またはいつでも dylib ディレクトリに手動で追加できます (起動スクリプトを変更する必要があり、変更したくなかったので、これは私にとっては簡単でした)。ただし、必ず 32 ビット ライブラリを使用してください (これは Leopard 上にあります)。

于 2010-01-11T17:42:56.443 に答える
0

次のことを試してください。

http://groups.google.com/group/wxpython-users/browse_thread/thread/916fa0569bfa3efd/9d16f540a89cc4c3?lnk=gst&q=py2app#9d16f540a89cc4c3

于 2009-11-18T18:18:59.503 に答える
0

どちらも異なるアーキテクチャ (それぞれ 32 ビットと 64 ビット) にあるため、2 つの異なるコンパイルを作成する必要があると思います。

于 2009-10-09T01:08:17.637 に答える