ioslinkerthree20gdata-api

iOS strange linker behavior -- can't get GData to compile with Three20


I've been trying to compile the Google Data libraries in a project with three20. The problem is if I add the "-ObjC" flag to my target as needed to get the GData to link I end up getting errors such as this in Three20:

ld: duplicate symbol _OBJC_METACLASS_$_TTBaseViewController in /Users/macuser/Dropbox/DFJ/three20/Build/Products/Release-iphoneos/libThree20UICommon.a(TTBaseViewController.o) and ../three20/Build/Products/Release-iphoneos/libThree20UICommon.a(TTBaseViewController.o) collect2: ld returned 1 exit status

Now if I take out the -ObjC flag then the google libraries don't link:

"_OBJC_CLASS_$_GDataServiceGoogleYouTube", referenced from:

objc-class-ref-to-GDataServiceGoogleYouTube in PitchStart.o

How to get both of these to play nice with each other?


Solution

  • I fixed it. You cannot link to the compiled library. Rather just drag all of the source .m and .h files into your project!