Mitchell
Mitchell

Reputation: 313

Three20 issue: _OBJC_METACLASS_$_TTURLRequestModel undefined?

Being new to iPhone development I was wanting to take it to the next level and use the Three20 library for a photo gallery I am building.

http://www.raywenderlich.com/1430/how-to-use-the-three20-photo-viewer

Everything seemed to go smoothly up to the point I tried testing the app and I got this error.

"_OBJC_METACLASS_$_TTURLRequestModel", referenced from:

Ld build/Debug-iphonesimulator/PhotoGallery.app/PhotoGallery normal i386 cd /Users/company/Documents/PhotoGallery 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/gcc-4.2 -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk -L/Users/company/Documents/PhotoGallery/build/Debug-iphonesimulator -F/Users/company/Documents/PhotoGallery/build/Debug-iphonesimulator -filelist /Users/company/Documents/PhotoGallery/build/PhotoGallery.build/Debug-iphonesimulator/PhotoGallery.build/Objects-normal/i386/PhotoGallery.LinkFileList -mmacosx-version-min=10.6 -ObjC -all_load -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework CoreGraphics -framework CFNetwork -framework SystemConfiguration -framework MobileCoreServices -lz.1.2.3 -framework CoreLocation -framework QuartzCore /Users/company/Documents/opensource/three20/Build/Products/Debug-iphonesimulator/libThree20.a -framework CoreData -o /Users/company/Documents/PhotoGallery/build/Debug-iphonesimulator/PhotoGallery.app/PhotoGallery

Undefined symbols: "_OBJC_METACLASS_$_TTURLRequestModel", referenced from: _OBJC_METACLASS_$_PhotoSet in PhotoSet.o "_OBJC_CLASS_$_TTURLRequestModel", referenced from: _OBJC_CLASS_$_PhotoSet in PhotoSet.o ld: symbol(s) not found collect2: ld returned 1 exit status

Anyone

Upvotes: 1

Views: 677

Answers (1)

Mitchell
Mitchell

Reputation: 313

While I included the Three20 static library I didn't include the other dependencies in the same library such as Three20UINavigator.xcodeproj etc.

Sudo was pretty close. While I did include the proper libraries it was simply that they were not activated; I don't know the proper term :P

Basically, we should keep in mind that just because I dragged the Three20.xcodeproj into my project doesn't suffice when other extensions are needed as well. Simply drag all of the xcodeproj files necessary in (wherever you are keeping three20)/three20/src/(name of particular extension)/(name of particular file).xcodeproj into your projects "group and files" Then click on each extension and select the (name of particular file).a and check the checkbox on the far right of the file preview section. This is what I didn't do for all the extensions that seemed to resolve the problem even though I had previously included them all.

Upvotes: 1

Related Questions