我在iOS下有一个客观的c/c++项目,将其从OS/X中移出,并且出现“找不到文件”错误
#include <string>
这是一个干净的项目,我刚刚添加了旧项目中的文件。是否在XCode中设置了STL?查找产生许多可能性,例如
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/usr/include/c++/4.2.1/debug/
但是将其添加到搜索路径中只会引发更多错误。有什么建议么?
(除了不使用字符串-它在我要移植的内部代码中)
xcode 4.2.1,在OS/X 10.7.3上运行的ios5.0,位于.cpp文件中,代码在OS/X上正常运行
最佳答案
您真的确定仅从.cpp文件中包含<string>
吗?
我只是通过添加一个.cpp文件并包括<string>
在一个新项目上进行了测试,并且它按预期方式工作(相同的Xcode版本,相同的SDK版本)。
但是,如果我在.m文件中包含<string>
,则当然会出现“找不到文件”编译器错误。
因此,请仔细检查,因为错误可能来自此处。
您是否仅包括打算由.cpp实现使用的.cpp文件或.h文件中的<string>
?
然后,它可能也包含在.m文件中,因此出现错误。
还要检查您的预编译头文件(如果有),以查看是否在其中包含一些C++内容...
还请记住,在后一种情况下,需要时可以依赖__cplusplus
宏。
关于c++ - 在C++文件中的iOS中找不到#include <string>文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10405153/