#include <string> 文件在 C 文件中的 iOS 中找不到

新手上路,请多包涵

我在 iOS 下有一个客观的 c/c++ 项目,将其从 OS/X 移出,但出现“找不到文件”错误

#include <string>

这是一个干净的项目,我刚刚添加了旧项目中的文件。 STL 是否包含在 XCode 中设置?一次发现会产生多种可能性,例如

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/usr/include/c++/4.2.1/debug/

但是将其添加到搜索路径只会引发更多错误。有什么建议么? (除了不要使用字符串 - 这是我正在移植的内部代码)

xcode 4.2.1, ios5.0 在 OS/X 10.7.3 上运行,它位于 .cpp 文件中,代码在 OS/X 上运行良好

原文由 daven11 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
1 个回答

您真的确定 <string> 仅包含在 .cpp 文件中吗?

我刚刚在一个新项目上进行了测试,添加了一个 .cpp 文件并包含 <string> ,它可以正常工作,就像预期的那样(相同的 Xcode 版本,相同的 SDK 版本)。

但是,如果我在 .m 文件中包含 <string> ,那么我当然会遇到“找不到文件”编译器错误。

所以仔细检查一下,因为错误可能来自这里。

您是否包含 <string> 仅来自 .cpp 文件,或来自 .h 文件,旨在供 .cpp 实现使用?

然后也许它也包含在 .m 文件中,因此出现错误。

还要检查你的预编译头文件,如果有的话,看看你是否在里面包含了一些 C++ 的东西……

另请记住,在后一种情况下,您可以在需要时依赖 __cplusplus 宏。

原文由 Macmade 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题