I just converted my project up from Xcode 3 to 4 and updated to the latest SDK. The project runs fine when I open it in XCode 3, but there are errors when I run in XCode 4.
I am getting the following link error:
Undefined symbols for architecture armv7:
"_objc_memmove_collectable", referenced from:
__ZN9cPlaylistaSERKS_ in MediaItemManager.o
ld: symbol(s) not found for architecture armv7
From what I have read about memmove_collectable it has something to do with guards around garbage collected memory. However in my project settings are set to:
Obj-C Garbage Collection - Unsupported
I am not even sure there is garbage collection to be had in iOS. Anyone know what I might be doing wrong?
Some help demangling the name would be great too. My MediaItemManager is a C++ class, it does call new/delete and memset/memcpy. However none of them are in a function called Playlists. Here is evertying in MediaItemManager with the word Playlist in it. cPlaylist makes no calls to memset/memcpy functions.
cPlaylist* AllSongsPlaylist() { return mSongList; }
pPlaylistVec Playlists() { return &mPlaylists; }
cPlaylist* PlaylistByIndex(uint32 idx);
cPlaylist* PlaylistByName(NSString* name);
...
std::vector<cPlaylist> mPlaylists;
typedef std::vector<cPlaylist>* pPlaylistVec;
Edit: It seems to happen with armv7 or armv6. It may be an installation issue with XCode, I am not sure how XCode installation should look though. I did have to add this symbolic link to get XCode building after the install. iPhone Codesign object file format invalid or unsuitable