2011-10-31 16 views
19

पर प्रोजेक्ट को अपग्रेड करना मैं SO और Google को खराब कर रहा हूं लेकिन अभी तक कुछ भी उपयोगी नहीं मिला है।आर्किटेक्चर i386 के लिए अपरिभाषित प्रतीक आईओएस 5

हम आईओएस 5 के खिलाफ निर्माण करने के लिए अपने मौजूदा आईओएस परियोजना को अपडेट कर रहे

हमारी परियोजना, दो लक्ष्य है पहले हमारे स्थिर पुस्तकालय है और दूसरा एक यूनिट टेस्ट आवेदन (GHUnit) है।

जब इकाई परीक्षण लक्ष्य इसे सफलतापूर्वक स्थिर पुस्तकालय संकलित निर्माण, लेकिन उसके बाद निम्न उत्पादन के साथ इसके खिलाफ लिंक करने में विफल रहता है:

Ld /Users/XXXXXX/Library/Developer/Xcode/DerivedData/XXXXXXLibrary-egoqfplddstqvwaigwuiqfqplcax/Build/Products/Debug-iphonesimulator/UnitTests.app/UnitTests normal i386 
    cd /Users/XXXXXX/Documents/iOS/trunk 
    setenv MACOSX_DEPLOYMENT_TARGET 10.6 
    setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -L/Users/XXXXXX/Library/Developer/Xcode/DerivedData/XXXXXXLibrary-egoqfplddstqvwaigwuiqfqplcax/Build/Products/Debug-iphonesimulator -F/Users/XXXXXX/Library/Developer/Xcode/DerivedData/XXXXXXLibrary-egoqfplddstqvwaigwuiqfqplcax/Build/Products/Debug-iphonesimulator -F/Users/XXXXXX/Documents/iOS/trunk -F/Users/XXXXXX/Documents/iOS/trunk/UnitTests -filelist /Users/XXXXXX/Library/Developer/Xcode/DerivedData/XXXXXXLibrary-egoqfplddstqvwaigwuiqfqplcax/Build/Intermediates/XXXXXXLibrary.build/Debug-iphonesimulator/UnitTests.build/Objects-normal/i386/UnitTests.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -ObjC -all_load -Wl -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50000 -framework SystemConfiguration -framework CoreLocation -framework CoreData /Users/XXXXXX/Library/Developer/Xcode/DerivedData/XXXXXXLibrary-egoqfplddstqvwaigwuiqfqplcax/Build/Products/Debug-iphonesimulator/XXXXXX.a -framework GHUnitIOS -framework CoreGraphics -framework Foundation -framework UIKit -o /Users/XXXXXX/Library/Developer/Xcode/DerivedData/XXXXXXLibrary-egoqfplddstqvwaigwuiqfqplcax/Build/Products/Debug-iphonesimulator/UnitTests.app/UnitTests 

    Undefined symbols for architecture i386: 
     "_llvm_gcda_start_file", referenced from: 
      ___llvm_gcov_writeout in XXXXXX.a(NSObject+SBJSON.o) 
      ___llvm_gcov_writeout in XXXXXX.a(NSString+SBJSON.o) 
      ___llvm_gcov_writeout in XXXXXX.a(SBJsonBase.o) 
      ___llvm_gcov_writeout in XXXXXX.a(SBJsonParser.o) 
      ___llvm_gcov_writeout in XXXXXX.a(SBJsonWriter.o) 
      ___llvm_gcov_writeout in XXXXXX.a(XXXXXXReachability.o) 
      ___llvm_gcov_writeout in XXXXXX.a(XXXXXX.o) 
      ... 
     "_llvm_gcda_emit_function", referenced from: 
      ___llvm_gcov_writeout in XXXXXX.a(NSObject+SBJSON.o) 
      ___llvm_gcov_writeout in XXXXXX.a(NSString+SBJSON.o) 
      ___llvm_gcov_writeout in XXXXXX.a(SBJsonBase.o) 
      ___llvm_gcov_writeout in XXXXXX.a(SBJsonParser.o) 
      ___llvm_gcov_writeout in XXXXXX.a(SBJsonWriter.o) 
      ___llvm_gcov_writeout in XXXXXX.a(XXXXXXReachability.o) 
      ___llvm_gcov_writeout in XXXXXX.a(XXXXXX.o) 
      ... 
     "_llvm_gcda_emit_arcs", referenced from: 
      ___llvm_gcov_writeout in XXXXXX.a(NSObject+SBJSON.o) 
      ___llvm_gcov_writeout in XXXXXX.a(NSString+SBJSON.o) 
      ___llvm_gcov_writeout in XXXXXX.a(SBJsonBase.o) 
      ___llvm_gcov_writeout in XXXXXX.a(SBJsonParser.o) 
      ___llvm_gcov_writeout in XXXXXX.a(SBJsonWriter.o) 
      ___llvm_gcov_writeout in XXXXXX.a(XXXXXXReachability.o) 
      ___llvm_gcov_writeout in XXXXXX.a(XXXXXX.o) 
      ... 
     "_llvm_gcda_end_file", referenced from: 
      ___llvm_gcov_writeout in XXXXXX.a(NSObject+SBJSON.o) 
      ___llvm_gcov_writeout in XXXXXX.a(NSString+SBJSON.o) 
      ___llvm_gcov_writeout in XXXXXX.a(SBJsonBase.o) 
      ___llvm_gcov_writeout in XXXXXX.a(SBJsonParser.o) 
      ___llvm_gcov_writeout in XXXXXX.a(SBJsonWriter.o) 
      ___llvm_gcov_writeout in XXXXXX.a(XXXXXXReachability.o) 
      ___llvm_gcov_writeout in XXXXXX.a(XXXXXX.o) 
      ... 
     "_llvm_gcda_increment_indirect_counter", referenced from: 
      -[SBJsonParser scanValue:] in XXXXXX.a(SBJsonParser.o) 
      -[SBJsonParser scanRestOfString:] in XXXXXX.a(SBJsonParser.o) 
      -[SBJsonWriter appendString:into:] in XXXXXX.a(SBJsonWriter.o) 
      -[XXXXXX loginSuccessfulCallback:XXXXXXHttpResult:] in XXXXXX.a(XXXXXX.o) 
      +[XXXXXXDataTank sharedDataTankManager] in XXXXXX.a(XXXXXXDataTank.o) 
      -[XXXXXXDataTank processFiveHundredSeriesHttpResult:] in XXXXXX.a(XXXXXXDataTank.o) 
      -[XXXXXXDataTank networkActive] in XXXXXX.a(XXXXXXDataTank.o) 
      ... 
    ld: symbol(s) not found for architecture i386 
    clang: error: linker command failed with exit code 1 (use -v to see invocation) 

मैं unfound प्रतीकों के लिए खोज की कोशिश की है, लेकिन गूगल सचमुच 0 है परिणाम है।

मुझे लगता है कि स्थिर पुस्तकालय कुछ ऐसा बनाया जा रहा है जो इकाई परीक्षण लक्ष्य नहीं है लेकिन मुझे यह नहीं मिल रहा है।

क्या किसी के पास कोई सुझाव है?

चीयर्स

+1

यह त्रुटि में "libGoogleAnalyticsServices.a" जोड़ने आम तौर पर तब आता है जब एक ढांचा उपलब्ध नहीं होता है। यहां मुझे यकीन नहीं है कि कौन सा ढांचा गुम है, लेकिन शायद आप लापता ढांचे को समझने का प्रयास कर सकते हैं। – Sahil

उत्तर

4

llvm_gcda_start_file और सह कोड कवरेज और इकाई परीक्षण के लिए LLVM संकलक द्वारा जोड़ा जाता है।

जोड़ना- आपकी परियोजना सेटिंग्स में लिंकर ध्वज में -prprofile_rt इस त्रुटि को हल करना चाहिए। (पुराने ट्यूटोरियल -lgcov जो Xcode 3 और जीसीसी के लिए है सुझाव दे सकता है) Code Coverage on Xcode 4.4.1 "-lprofile_rt" के अनुसार

नहीं रह गया है की आवश्यकता है।

+1

मुझे एक ही समस्या थी और लिंकर फ्लैग में -lprofile_rt को जोड़ा गया, हालांकि इस त्रुटि का कारण बन गया: 'लाइब्रेरी नहीं मिली -lprofile_rt' –

+0

एक्सकोड 4.3beta के साथ प्रयास न करें, लेकिन यह मेरे 4.2 में काम करता है, बस कोशिश करें : 1) जाँच अगर वे मौजूद हैं: '/usr/lib/libprofile_rt.a /usr/lib/libprofile_rt.dylib /Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/libprofile_rt.a /डेवलपर/प्लेटफ़ॉर्म/iPhoneOS.platform/डेवलपर/usr/lib/libprofile_rt.dylib' 2) अपनी प्रोजेक्ट सेटिंग में सही पथ और आदि जांचें ... –

13

यदि आपको कोड कवरेज की आवश्यकता नहीं है, तो आप निम्न सेटिंग्स का उपयोग करके इसे अक्षम कर सकते हैं, इस प्रकार उन कार्यों को प्रयास किए गए कॉल से परहेज कर सकते हैं।

GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = NO 
GCC_GENERATE_TEST_COVERAGE_FILES = NO 
+0

यह मेरे लिए ठीक था। मैंने एक बिंदु पर (असफल) सेटअप gcov था और इस मुद्दे को रहस्यमय रूप से पॉप अप किया था। –

+0

यह सही उत्तर है। – Jessedc

+0

यदि आप इसे अक्षम करते हैं, तो आपको शायद lib को पुन: संकलित करने की आवश्यकता होगी। –

1

मेरे मामले में मैं डिवाइस के लिए निर्माण कर रहा था। सिम्युलेटर पर स्विचिंग आकर्षण की तरह काम करता है, लेकिन मुझे कोई संकेत नहीं है कि यह अलग क्यों है। :-)

48

यह मेरे लिए अच्छी तरह से काम (बोल्ड साथ सेटिंग्स को पकड़ने):

enter image description here

+9

"इंस्ट्रूमेंट प्रोग्राम फ्लो" मेरी समस्या है! धन्यवाद! –

+1

याप, मेरे मामले में यह [Google Analytics आईओएस एसडीके 3.x] (https://developers.google.com/analytics/devguides/collection/ios/v3/) मुद्दों को ठीक करता है। – Geri

+1

Thx! आवश्यक 'इंस्ट्रूमेंट प्रोग्राम फ्लो' के साथ-साथ – Papasmile

-2

मैं एक ही त्रुटि थी: बस अपनी फ़ाइलें

+4

एलएलवीएम और जीसीओवी के साथ Google Analytics को क्या करना है? – MdaG

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