XCode更新 - iOS链接错误 [英] XCode Update - iOS Link Error

查看:157
本文介绍了XCode更新 - iOS链接错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只是将我的项目从Xcode 3转换为4并更新为最新的SDK。当我在XCode 3中打开它时,项目运行良好,但是当我在XCode 4中运行时出现错误。



我收到以下链接错误:

 架构armv7的未定义符号:
_objc_memmove_collectable,引用自:
MediaItemManager.o中的__ZN9cPlaylistaSERKS_
ld:符号(s)找不到架构armv7

从我读过的有关memmove_collectable的东西中,与周围的垃圾收集内存的守卫。然而,在我的项目设置设置为:

  Obj-C垃圾收集 - 不支持

我甚至不确定iOS中是否有垃圾回收。任何人都知道我可能做错了什么?



有些帮助解除名称的功能也很棒。我的MediaItemManager是一个C ++类,它调用new / delete和memset / memcpy。但是,他们都不在名为播放列表的功能中。 MediaItemManager中包含单词Playlist。 cPlaylist不会调用memset / memcpy函数。

  cPlaylist * AllSongsPlaylist(){return mSongList; } 
pPlaylistVec播放列表(){return& mPlaylists; }
cPlaylist * PlaylistByIndex(uint32 idx);
cPlaylist * PlaylistByName(NSString * name);

...

std :: vector< cPlaylist> mPlaylists;

typedef std :: vector< cPlaylist> * pPlaylistVec;

编辑:
似乎发生在armv7或armv6 。这可能是XCode的安装问题,我不确定XCode的安装应该如何。我确实需要添加这个符号链接才能在安装后获得XCode。
iPhone Codesign对象文件格式无效或不合适所以你可能会讨厌这个,因为它需要一个小时左右,但我不得不做的事情

与这些链接器错误是完全卸载xcode,然后重新启动重新安装xcode并重新启动。通常这是问题,因为安装xcode 3然后xcode 4而不卸载xcode 3通常会导致严重的问题。所以你必须去终端和CD到你的开发文件夹和sudo / Library / uninstall-devtools --mode = all抱歉的人:(希望这有助于。


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

解决方案

So you are probably gonna hate this because it takes an hr or so but what I have had to do with these linker errors is completely uninstall xcode and then restart reinstall xcode and restart. Usually that is the issue because installing xcode 3 and then xcode 4 without uninstalling xcode 3 usually causes huge problem. So you are gonna have to go to terminal and cd to your developer folder and sudo /Library/uninstall-devtools --mode=all sorry man :( Hope this helps.

这篇关于XCode更新 - iOS链接错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆