如何在Xcode 4中将“C ++标准库类型”设置为“静态”?

时间:2012-01-26 21:27:14

标签: sqlite xcode4

我有一个正确构建的Xcode 3.2项目(带有icu的sqlite3),我正在尝试在Xcode 4中重新创建它。我收到链接错误:

Undefined symbols for architecture x86_64:
  "vtable for __cxxabiv1::__si_class_type_info", referenced from:
      typeinfo for icu_48::SortKeyByteSinkin libicui18n.a(ucol.ao)
      ...
  "___gxx_personality_v0", referenced from:
      Dwarf Exception Unwind Info (__eh_frame) in libicui18n.a(uregex.ao)
      ...

我曾经使用过Xcode 3.2。然后我将构建设置Linking-> C++ Standard Library Type更改为static(默认为dynamic)。如果我正确理解文档,则实际标记为STANDARD_C_PLUS_PLUS_LIBRARY_TYPE

但我在Xcode 4中找不到该设置!

修改

主模块(sqlite3)是C,但ICU库是C ++,可能是C声明。我可以自己构建sqlite3,当我需要在ICU库中链接以解决问题时。

1 个答案:

答案 0 :(得分:0)

您的应用可能是C,但看起来libicui18n包含C ++。

如果您将main.m重命名为main.mm会怎样?这应该导致它与标准C ++库链接。