2009-08-29 18 views
6

मैं वर्तमान में हिम तेंदुए के लिए अपना पीओओबीजेसी एप्लिकेशन काम कर रहा हूं और मैंने सफलतापूर्वक एक स्टैंडअलोन ऐप संकलित किया। मेरा सवाल होगा, मैं इन त्रुटियों को देखते हुए, निर्माण को तेंदुए-संगत बनाने के लिए कैसे बना सकता हूं?तेंदुए और हिम तेंदुए दोनों के लिए एक py2app कामकाजी निर्माण संकलित?

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 

यह एक हिम तेंदुए-संकलित py2app एप्लिकेशन है। इसके अलावा, जब मैं तेंदुए पर संकलन करता हूं, दूसरी तरफ, यह त्रुटि होती है:

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 

किसी भी मदद की सराहना की जाएगी। अग्रिम में धन्यवाद।

उत्तर

0

चूंकि दोनों अलग-अलग आर्किटेक्चर (क्रमशः 32 बिट्स और 64 बिट्स) पर हैं, मुझे लगता है कि आपको 2 अलग-अलग संकलन बनाना है।

3

मैं हाल ही में इस किया है और चाल एक तेंदुए स्थापना पर एक स्टैंडअलोन संस्करण बनाने के लिए किया गया था।

डिफॉल्ट रूप से, जब तक आपके पास पाइथन इंस्टॉल का ओपन सोर्स संस्करण नहीं है, py2app सेमी-स्टैंडअलोन एप्लिकेशन बनाता है जिसमें ओएस फाइलों के लिए सिम्लिंक हैं।

यदि इसके बजाय, आप एप्लिकेशन का एक स्टैंडअलोन संस्करण बनाते हैं, तो दुभाषिया और सहायक फाइलें आपके आवेदन के भीतर एम्बेड की गई हैं और इसलिए आपके आवेदन चलाने वाली सभी मशीनों पर सुसंगत हैं। पूरी तरह से स्टैंडअलोन एप्लिकेशन बनाने के निर्देश here उपलब्ध हैं, लेकिन ब्लॉग की टिप्पणियों पर ध्यान दें क्योंकि ब्लॉग पोस्ट लिखने के बाद कुछ चीजें बदली गईं।

यदि आपके पास विशिष्ट libs हैं जो आपको चाहिए तो आप उन्हें setup.py फ़ाइल में संदर्भित कर सकते हैं या वैकल्पिक रूप से आप उन्हें मैन्युअल रूप से dylib निर्देशिका में जोड़ सकते हैं (जो मेरे लिए आसान था क्योंकि मुझे स्टार्टअप स्क्रिप्ट्स और डीएनएन को बदलने की आवश्यकता थी पुन: उत्पन्न करना नहीं चाहते हैं), लेकिन सुनिश्चित करें कि आप 32-बिट libs (जो यह तेंदुए पर होगा) का उपयोग करें।