Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build fails with static framework > 1.0.1 #5

Closed
tiago-g-henriques opened this issue Apr 16, 2012 · 2 comments
Closed

Build fails with static framework > 1.0.1 #5

tiago-g-henriques opened this issue Apr 16, 2012 · 2 comments

Comments

@tiago-g-henriques
Copy link

I tried following the instructions in Samuel's video (http://vimeo.com/27618429), but just adding any version of the CoconutKit static framework from 1.1 to 1.1.3 causes the build to fail. The linker fails with multiple "Undefined symbol" errors:

Undefined symbols for architecture i386:
"_CATransform3DIsAffine", referenced from:
-[HLSAnimation playStep:animated:] in CoconutKit(HLSAnimation.o)
"_CATransform3DGetAffineTransform", referenced from:
-[HLSAnimation playStep:animated:] in CoconutKit(HLSAnimation.o)
"_CATransform3DInvert", referenced from:
-[HLSAnimation playStep:animated:] in CoconutKit(HLSAnimation.o)
-[HLSViewAnimationStep reverseViewAnimationStep] in CoconutKit(HLSViewAnimationStep.o)
"_CATransform3DIdentity", referenced from:
-[HLSViewAnimationStep init] in CoconutKit(HLSViewAnimationStep.o)
"OBJC_CLASS$_NSAttributeDescription", referenced from:
objc-class-ref in CoconutKit(HLSManagedTextFieldValidator.o)
"OBJC_CLASS$_NSManagedObjectModel", referenced from:
objc-class-ref in CoconutKit(HLSModelManager.o)
"OBJC_CLASS$_NSPersistentStoreCoordinator", referenced from:
objc-class-ref in CoconutKit(HLSModelManager.o)
"OBJC_CLASS$_NSManagedObjectContext", referenced from:
objc-class-ref in CoconutKit(HLSModelManager.o)
"_NSInferMappingModelAutomaticallyOption", referenced from:
-[HLSModelManager persistentStoreCoordinatorForManagedObjectModel:modelFileName:storeDirectory:] in CoconutKit(HLSModelManager.o)
"_NSMigratePersistentStoresAutomaticallyOption", referenced from:
-[HLSModelManager persistentStoreCoordinatorForManagedObjectModel:modelFileName:storeDirectory:] in CoconutKit(HLSModelManager.o)
"_NSSQLiteStoreType", referenced from:
-[HLSModelManager persistentStoreCoordinatorForManagedObjectModel:modelFileName:storeDirectory:] in CoconutKit(HLSModelManager.o)
"OBJC_CLASS$_NSEntityDescription", referenced from:
objc-class-ref in CoconutKit(NSManagedObject+HLSExtensions.o)
"OBJC_CLASS$_NSFetchRequest", referenced from:
objc-class-ref in CoconutKit(NSManagedObject+HLSExtensions.o)
"OBJC_CLASS$NSManagedObject", referenced from:
objc-class-ref in CoconutKit(NSManagedObject+HLSExtensions.o)
l_OBJC
$CATEGORY_NSManagedObject$HLSExtensions in CoconutKit(NSManagedObject+HLSExtensions.o)
objc-class-ref in CoconutKit(NSManagedObject+HLSValidation.o)
l_OBJC
$CATEGORY_NSManagedObject$HLSValidationPrivate in CoconutKit(NSManagedObject+HLSValidation.o)
l_OBJC
$CATEGORY_NSManagedObject$_HLSValidation in CoconutKit(NSManagedObject+HLSValidation.o)
(maybe you meant: OBJC_CLASS$_NSManagedObjectHLSValidation_Linker, OBJC_CLASS$_NSManagedObjectHLSExtensions_Linker )
"_NSDetailedErrorsKey", referenced from:
+[NSManagedObject(HLSValidationPrivate) combineError:withError:] in CoconutKit(NSManagedObject+HLSValidation.o)
+[NSManagedObject(HLSValidationPrivate) flattenHiearchyForError:] in CoconutKit(NSManagedObject+HLSValidation.o)
"_CATransform3DMakeTranslation", referenced from:
-[HLSKenBurnsSlideshow animationForImageView:withScaleFactor:xOffset:yOffset:] in CoconutKit(HLSKenBurnsSlideshow.o)
-[HLSKenBurnsSlideshow playNextImageAnimation] in CoconutKit(HLSKenBurnsSlideshow.o)
-[HLSAnimation playStep:animated:] in CoconutKit(HLSAnimation.o)
"_CATransform3DMakeScale", referenced from:
-[HLSKenBurnsSlideshow animationForImageView:withScaleFactor:xOffset:yOffset:] in CoconutKit(HLSKenBurnsSlideshow.o)
-[HLSKenBurnsSlideshow playNextImageAnimation] in CoconutKit(HLSKenBurnsSlideshow.o)
"_CATransform3DConcat", referenced from:
-[HLSKenBurnsSlideshow animationForImageView:withScaleFactor:xOffset:yOffset:] in CoconutKit(HLSKenBurnsSlideshow.o)
-[HLSKenBurnsSlideshow playNextImageAnimation] in CoconutKit(HLSKenBurnsSlideshow.o)
-[HLSAnimation playStep:animated:] in CoconutKit(HLSAnimation.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

This happens both building for the simulator (as shown above) and for the native device. I'm using Xcode 4.3.2 on OS X 10.7.3.

Using version 1.0.1 does not produce these errors.

@defagos
Copy link
Owner

defagos commented Apr 16, 2012

As CoconutKit evolves, its dependencies evolve as well. The video I posted on Vimeo shows how to setup CoconutKit for versions 1.0 up to (but not including) 1.1. Newer versions of CoconutKit have additional dependencies on CoreData.framework and QuartzCore.framework, among others. I sadly cannot update the video with each version of CoconutKit, but I keep the project Readme file up-to-date (see the "How should I use CoconutKit?" section).

In your case, and according to your compilation log, you should add CoreData.framework and QuartzCore.framework to your project dependencies (target -> Build Phases -> Link Binary With Libraries). This should solve your linker issues. You should also add MessageUI.framework to avoid other linker issues in the future.

@tiago-g-henriques
Copy link
Author

Thanks for the quick reply, that did the trick. Closing the ticket.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants