美文网首页
Xcode 'string' file not found 解决

Xcode 'string' file not found 解决

作者: Ezward_Chou | 来源:发表于2019-11-24 01:08 被阅读0次

    这个问题的解决办法是建立在你已经在对应路径下放入了被移除的libc++文件,如libstdc++6.0.9.tbd等。


    方法一

    检查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 <string>就一定会报错。

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

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

    有不足的欢迎指正。

    相关文章

      网友评论

          本文标题:Xcode 'string' file not found 解决

          本文链接:https://www.haomeiwen.com/subject/fabkwctx.html