Xcode 'string' file not found 解决办法

方法一

检查Build Settings项:

Build Settings

这里一定要选择According to File type,Xcode会根据当前文件类型来确定编译模式。例如.h会按C、C++以及OC的模式编译,而.m会安全按照OC的模式编译,.mm则是OC与C++的混编。
切记不要为了图方便省事而选择Objective-C++,因为可能会伴生出很多编译报错。

方法二

检查Build Settings项:

Build Settings

这里需要选择libc++(LLVM C++ standard library with C++11 support)

方法三

如果方法一与二都没有奏效,那么问题可能是出在你导入的相关文件中。

问题产生的原因是这样的,如果你在一个.m文件中导入了一个.h文件,而这个.h文件因为被导入到了这个.m文件中,间接导致Xcode对它的编译模式认定为OC,而这时候你在这个.h文件中#include 就一定会报错。

分析清楚原因后,解决也就很容易了。你可以选择将当前导入了这个.h.m文件修改后缀为.mm,这样就可以解决报错。但是假如这个.m文件为UIViewController类的试图控制类文件,则不建议这样做,因为可能会有未知的伴生问题。一般来说,采用C++的代码主要是在数据处理相关方面,需要用到他人封装好的函数、结构体等代码。因此我们可以专门构造一个继承自NSObject的数据处理类,这个类的.m文件改为.mm,让它专门去与C++的代码进行交互,避免在UIView中直接调用C++代码。

最后具体情况具体分析,我这里方法三中列举的解决方法是根据我的实际情况而想出来的。

有不足的欢迎指正。

你可能感兴趣的:(Xcode 'string' file not found 解决办法)