2009-08-29 35 views
6

Tôi hiện đang làm cho ứng dụng PyObjC của tôi hoạt động cho Snow Leopard và tôi đã biên dịch thành công một ứng dụng độc lập. Câu hỏi của tôi là, làm thế nào để tôi làm cho việc xây dựng cũng tương thích với Leopard, với những lỗi này?Soạn thảo công việc xây dựng py2app cho cả Leopard và Snow 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 

Đây là ứng dụng py2app được Snow Leopard biên dịch. Ngoài ra, khi tôi biên dịch trên Leopard, mặt khác, lỗi này xảy ra:

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 

Mọi trợ giúp sẽ được đánh giá cao. Cảm ơn trước.

Trả lời

0

Vì cả hai đều ở trên kiến ​​trúc riêng biệt (tương ứng 32 bit và 64 bit), tôi nghĩ bạn phải tạo 2 bộ sưu tập riêng biệt.

3

Tôi đã làm điều này thời gian gần đây và các trick là để xây dựng một phiên bản độc lập trên cài đặt Leopard.

Theo mặc định, trừ khi bạn cài đặt phiên bản Python nguồn mở, py2app tạo một ứng dụng bán độc lập có liên kết tượng trưng đến tệp OS.

Nếu thay vào đó, bạn tạo phiên bản độc lập của ứng dụng, khi đó trình thông dịch và tệp hỗ trợ được nhúng trong ứng dụng của bạn và do đó nhất quán trên tất cả các máy đang chạy ứng dụng của bạn. Hướng dẫn tạo ứng dụng độc lập hoàn toàn có sẵn here nhưng hãy chú ý đến nhận xét của blog vì một số điều đã thay đổi sau khi bài đăng trên blog được viết.

Nếu bạn có libs cụ thể mà bạn cần, bạn có thể tham khảo chúng trong tệp setup.py hoặc bạn có thể thêm chúng theo cách thủ công vào thư mục dylib (dễ dàng hơn cho tôi khi tôi cần thay đổi tập lệnh khởi động và không) 't muốn tái tạo), nhưng hãy chắc chắn rằng bạn sử dụng libs 32-bit (mà nó sẽ được trên Leopard).

Các vấn đề liên quan