2012-04-17 16 views
5

यह त्रुटि प्राप्त करना, हालांकि लाइब्रेरी बाइनरी लाइब्रेरीज़ क्षेत्र के साथ लिंक में है और हेडर फ़ाइल भी शामिल है।स्टेटिक आईओएस लाइब्रेरी डिवाइस के लिए बनाता है लेकिन सिम्युलेटर नहीं

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_TestLibraryEric", referenced from: 
     objc-class-ref in AppDelegate.o 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

जब मैं सिम्युलेटर के लिए निर्माण करता हूं, लेकिन डिवाइस के लिए नहीं, तो मुझे यह त्रुटि मिलती है। मैंने इस सवाल को विपरीत तरीके से देखा है, जहां यह सिम्युलेटर के लिए बनाता है लेकिन डिवाइस के लिए नहीं। सक्रिय आर्किटेक्चर के लिए बिल्ड केवल किसी भी विचार पर सेट है?

उत्तर

5

त्रुटि का अर्थ है कि TestLibraryEric केवल डिवाइस (एआरएम आर्किटेक्चर के लिए संकलित) के लिए बनाया गया है, और सिम्युलेटर (i386 आर्किटेक्चर) के लिए नहीं।

यदि पुस्तकालय एक है जिसे आपने बनाया है, तो आपको बिल्ड सेटिंग्स को बदलने की आवश्यकता है।

Supported Platforms फ़ील्ड में, आपके पास iphoneos होना चाहिए।

iphonesimulator जोड़ें, और आपकी लाइब्रेरी डिवाइस और सिम्युलेटर दोनों के लिए बनाई जाएगी।

एक साफ करें, पुस्तकालय का पुनर्निर्माण करें और इसे चाल चलनी चाहिए।

संबंधित मुद्दे