升级到Xcode 4后链接器错误

时间:2011-04-03 08:11:17

标签: iphone xcode

我的代码与sdk 4.2运行良好但是在将sdk和xcode升级到4时会引发错误apple mach-o error

这是它的细节

  

错误的codegen,指针差异   ITK :: ProcessAborted :: ProcessAborted(CHAR   const *,unsigned int)to global weak   符号vtable   itk :: ProcessAbortedfor architecture   armv7 collect2:ld返回1退出   status命令   /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++-4.2   退出代码1失败

任何解决此问题的建议,

itk是我使用xcode和g ++ 4.2构建的库

3 个答案:

答案 0 :(得分:2)

您是否尝试过彻底清理并重新构建项目? Xcode 4使用LLVM作为其默认编译器,而不是g ++。如果你有一个项目的一部分 - 或旧的目标文件 - 从g ++构建开始,我可以想象你可能会遇到麻烦......

答案 1 :(得分:0)

尝试文件>工作区设置(或项目设置)并输入以下设置:

  • 派生数据(索引,日志,构建)位置
    • 自定义>工作空间相对路径> 'DerivedData'
  • 建立位置
    • 将构建产品放置在派生数据位置
      • 自定义子文件夹

这对我来说是有用的,因为我的嵌套项目/库没有正确链接。

答案 2 :(得分:0)

我不得不处理同样的问题,最后找到了解决方案:

在构建设置中,确保“C / C ++编译器版本”设置为“GCC 4.2”并且“默认隐藏的符号”设置为“是”

然后搜索“优化级别”并将其更改为“无[-O0]

如果它不起作用,请查看目标的构建设置并检查是否设置了相同的选项/值