【问题标题】:std::terminate undefined in Cocoa App可可应用程序中的 std::terminate undefined
【发布时间】:2012-10-13 23:42:13
【问题描述】:

我有一个编译和链接都很好的 Cocoa 应用程序。我已经将一些代码分解成一个静态库,然后返回并尝试将 libMyLib.a 库链接到我的原始程序。

我现在收到链接器错误

Undefined symbols for architecture x86_64:
  "std::terminate()", referenced from:

引用曾经存在于我的主项目中的源模块之一,但现在存在于库中。

我试图返回并匹配每个编译器和链接器设置以查看哪个不同,但我似乎无法确定它。我的预感是我正在与 C STD 链接并且需要 C++ STD,但一切都使用带有标准库的 C99 编译器。

有什么想法吗?

谢谢!

【问题讨论】:

  • 在 libc++.dylib 中的链接解决了这个问题
  • WebDrive 和@Scicare,请分别添加答案并奖励积分和赏金。

标签: xcode cocoa


【解决方案1】:

在 libc++.dylib 中的链接解决了这个问题

【讨论】:

  • 你如何链接它? :)
  • 将 libc++.dylib 添加到构建选项的链接器部分的库列表中
  • 对于 Xcode 7 和更新版本,lib 的名称是 libc++.tbd 而不是 libc++.dylib
  • 谢谢 :) 它就像一个魅力 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-21
  • 2018-10-07
  • 1970-01-01
  • 2010-11-23
  • 1970-01-01
  • 2011-05-21
  • 1970-01-01
相关资源
最近更新 更多