Note that there are some explanatory texts on larger screens.

plurals
  1. POLinker error when compiling iOS 5 app for Simulator - Undefined symbols: _objc_assign_global, _objc_assign_ivar, and _objc_assign_strongCast
    primarykey
    data
    text
    <p>My project no longer compiles for the iOS 5.0 Simulator after upgrading to automatic ref counting. It still compiles flawlessly for any iOS device.</p> <p>Also, after upgrading to iOS 5, but before upgrading to automatic ref counting, my project would compile flawlessly for both device and simulator.</p> <p>The linker says it can't find the following symbols:</p> <ul> <li> _objc_assign_global</li> <li> _objc_assign_ivar</li> <li> _objc_assign_strongCast</li> </ul> <p>I thought at first I might be missing a Simulator specific framework, but after adding every available framework I still get the same errors.</p> <h3>Other Info</h3> <ul> <li>iOS deployment target is: 4.0.</li> <li>OS is Snow Leopard OSX 10.6.8 64bit</li> </ul> <pre> Undefined symbols for architecture i386: "_objc_assign_global", referenced from: +[InAppPurchaseManager sharedInAppPurchaseManager] in InAppPurchaseManager.o +[ThemeManager sharedThemeManager] in ThemeManager.o +[DownloadUpdatesManager sharedDownloadUpdatesManager] in DownloadUpdatesManager.o +[AudioManager sharedAudioManager] in AudioManager.o +[IOHelper sharedIOHelper] in IOHelper.o -[CKBezierPath svgStringPath] in CKBezierPath.o +[PreferencesManager defaultLineWidth] in PreferencesManager.o ... "_objc_assign_ivar", referenced from: -[InAppPurchaseManager init] in InAppPurchaseManager.o -[InAppPurchaseManager addTransactionObserver:] in InAppPurchaseManager.o -[InAppPurchaseManager removePurchaseTransactionObserver:] in InAppPurchaseManager.o -[InAppPurchaseManager purchaseProduct:forThemeIDType:] in InAppPurchaseManager.o -[InAppPurchaseManager productsRequest:didReceiveResponse:] in InAppPurchaseManager.o -[ThemeEditVC viewDidLoad] in ThemeEditVC.o -[ThemeEditVC setDelegate:] in ThemeEditVC.o ... "_objc_assign_strongCast", referenced from: +[SFHFKeychainUtils getPasswordForUsername:andServiceName:error:] in SFHFKeychainUtils.o +[SFHFKeychainUtils storeUsername:andPassword:forServiceName:updateExisting:error:] in SFHFKeychainUtils.o +[SFHFKeychainUtils deleteItemForUsername:andServiceName:error:] in SFHFKeychainUtils.o __replacePlaceholdersWithValues in Utility.o -[LocationManager checkForNewLocation:] in LocationManager.o -[LocationManager getNewLocationInStringFormat] in LocationManager.o ___52-[LocationManager getNewLocationInStringFormat]_block_invoke_0 in LocationManager.o ... ld: symbol(s) not found for architecture i386</pre> <h3>Edit:</h3> <p>Objective-C Garbage Collection was set to "Supported" rather than "Required". After setting it to "Required", I got the error:</p> <p>ld: /Users/teacher/drawingapp/FlurryLib/libFlurryAnalytics.a(FlurryAnalytics.o) built with incompatible Garbage Collection settings to link with previous .o files for architecture i386 Command /Developer_4_2_ios5/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang failed with exit code 1</p> <p>After removing the Flurry library, the the previous error messages started appearing again.</p> <h3>Edit 2:</h3> <p>Well it looks like Garbage Collection is only supported for OS X and not for iOS. I still don't understand why it would allow me to compile and run the app on the device with Garbage Collection turned on, yet not on the simulator.</p> <p>Anyway I've just set Garbage Collection to "Unsupported" but now it will no longer compile and run on the device.</p> <p>I'm now getting this error:</p> <pre> /Users/teacher/drawingapp/Main/Source/PurchaseThemeOptionVC.m 1. /Users/teacher/drawingapp/Main/Source/PurchaseThemeOptionVC.m:52:1: current parser token '-' 2. /Users/teacher/drawingapp/Main/Source/PurchaseThemeOptionVC.m:39:1: LLVM IR generation of declaration 'PurchaseThemeOptionVC::viewDidLoad' 3. /Users/teacher/drawingapp/Main/Source/PurchaseThemeOptionVC.m:39:21: LLVM IR generation of compound statement ('{}') clang: error: unable to execute command: Segmentation fault clang: error: clang frontend command failed due to signal 2 (use -v to see invocation) </pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload