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

Sqlite 如何在Xcode 4中将“C++标准库类型”设置为“静态”?,sqlite,xcode4,Sqlite,Xcode4,我有一个正确构建的带有icu的Xcode 3.2项目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) ...

我有一个正确构建的带有icu的Xcode 3.2项目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。然后,通过将构建设置链接-> C++标准库类型更改为静态,默认为动态的。如果我正确理解了文档,那么实际的标志是STANDARD_C_PLUS_PLUS_LIBRARY_TYPE

但是我在Xcode 4中找不到这个设置

编辑


<>主要模块SqLITE3是C,但是ICU库是C++,大概是用C声明。我可以自己构建SqLITE3精品,这是我需要在ICU图书馆链接时麻烦开始的。

< p>你的应用程序可能是C,但看起来像LICOUI1818N包含C++。
如果将main.m重命名为main.mm会发生什么?这会导致它与标准C++库链接。

我的错误我纠正了这个问题,但是我不知道你的意思是Min。M。这个项目中没有任何.m文件。假设目标为C,因为您使用的是Xcode。在这种情况下,是否将main.c重命名为main.cc?您希望强制Xcode使用g++/clang++来进行链接,它似乎会根据main的后缀触发此操作。如果您没有main.c,我想Xcode中一定有其他设置来设置它,但我不确定它是什么。