I’m trying to add this iOS lib PTImageAlbumViewController to an existing project that I’m working on and I’m getting compile errors. There is a sample project included and its dependent on a couple of other libs. The sample project works just fine but I can’t get it migrated to my own project without errors. I tried pulling the files direct from the project by dragging them from project to project but its still not working
Is there something I’m missing?
Undefined symbols for architecture armv7:
“_OBJC_METACLASS_$_NetworkPhotoAlbumViewController”, referenced from:
_OBJC_METACLASS_$_PTImageAlbumViewController in PTImageAlbumViewController.o
“_OBJC_CLASS_$_NIPhotoAlbumScrollView”, referenced from:
_OBJC_CLASS_$_PTImageAlbumView in PTImageAlbumView.o
“_OBJC_CLASS_$_NetworkPhotoAlbumViewController”, referenced from:
_OBJC_CLASS_$_PTImageAlbumViewController in PTImageAlbumViewController.o
“_NIPathForBundleResource”, referenced from:
-[PTImageAlbumViewController viewDidLoad] in PTImageAlbumViewController.o
“_OBJC_METACLASS_$_NIPhotoAlbumScrollView”, referenced from:
_OBJC_METACLASS_$_PTImageAlbumView in PTImageAlbumView.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
What it can’t find is the nimbus files.
If you have added the nimbus and SDURLCache files to your project, then it should just be a matter of making sure they’re included in your application’s target.
Make sure ALL the files got into your project and are in the right target. For example, the first error is regarding NetworkPhotoAlbumViewController.m. Is that file in your project and in the right target?
If so, the one other possibility is that it’s simply not building for this architecture for some reason. You can find out by navigating the tree from your DerivedData directory down to where the object files are stored and using nm to search the object files for the missing symbols.
Example on my machine:
The fact that these symbols do not have a “U” in the second column means that they are defined in this object file. You can find the meaning of all the nm output from the nm man page.