因为#import <string>
用的是C++的库,编译运行的时候可能会报上面的错误,网上有人说将该文件改成.mm
即可,这样编译器就会将此文件作为C++文件进行编译。
有时候即使将该文件后缀也改成了.mm
,但依然会报上面的错误,可能下面的方法会帮助你解决问题。
解决方法:
从AppDelegate
开始,将.m文件的后缀改成.mm
,一直改到需要导入 引用#import <string>的文件
的文件。
比如将AppDelegate
的后缀改成.mm
后,我AppDelegate
导入的TabBarController
,这个TabBarController
也要改成.mm
,TabBarController
的其中一个ChildViewController
需要导入 引用#import <string>的文件
,也将ChildViewController的后缀改成.mm
,此时我的问题解决了。
其他的以此类推,从AppDelegate
开始,将.m文件的后缀改成.mm
,一直修改到需要导入 引用#import <string>的文件
的文件,即可解决这个错误了。
此方法自己亲测有效。