【发布时间】:2012-01-26 21:27:13
【问题描述】:
我有一个正确构建的 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库中链接时,麻烦就开始了。
【问题讨论】: