微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果在“编译源”中存在.cpp文件,则Xcode将与C ++ stdlib链接,但否则不存在

如何解决如果在“编译源”中存在.cpp文件,则Xcode将与C ++ stdlib链接,但否则不存在

我有一个Xcode项目,其中包含许多子项目,包括一些C ++库。我希望我的C ++库在编译主项目时都能编译。当我运行项目时,我得到了Undefined symbols for architecture x86_64一堆用于std::__1::basic_string之类的符号。

当我在Build Phases > Compile Sources添加一个C ++文件时,这些错误都消失了,我不想这样做。似乎存在C ++文件时的链接调用使用编译器/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++和标志-stdlib=libc++,而当使用C ++文件时,链接调用使用编译器/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang且stdlib没有标志。在“编译源”部分中。

如何在不将C ++文件放入“编译源”部分的情况下摆脱这些未定义的符号错误?我已经尝试过Build Settings > Apple Clang - Language > Compile Sources As: C++,但这没用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。