报错Undefined symbols for architecture x86_64:的原因有很多种
我这里暂时只记录一种

解决的方法
-
创建.mm文件
image.png
报错的原因:
编译源选择语言: According to File Type : 默认值 意思为里面的全部语言都可以编译一般不选择只用某种语言编译 默认为 iOS项目中通常包含其他语言 特别是第三方
1,Compile Sources As 切换回According to File Type,这样能保证其它的第三方库、以及之后可能添加的不同类型源码文件都没有问题,我们以文件类型来动态编译(也就是说是oc文件,就用oc编译,是C++文件,就以C++编译)
2,在新项目中,把AppDelegate或是引用到lib库的那个文件或是任意一个文件后缀修改成.mm,这样,系统编译时就可以识别到C++了,我们自己的第三方库也不会出错了~

网友评论