美文网首页
iOS 百度地图 有关OC和C++混编造成其它类错误的问题(Co

iOS 百度地图 有关OC和C++混编造成其它类错误的问题(Co

作者: Smile_J | 来源:发表于2018-02-24 11:45 被阅读18次

           项目导入百度地图SDK在配置环境出现错了,在这记录一下

           相信有的朋友在使用百度地图api的时候,添加lib库也会遇到类似的问题, 百度提供两种方法:(静态库中采用Objective-C++实现,因此需要您保证您工程中至少有一个.mm后缀的源文件(您可以将任意一个.m后缀的文件改名为.mm),或者在工程属性中指定编译方式,即在Xcode的Project-> Edit Active Target -> Build Setting 中找到 Compile Sources As,并将其设置为"Objective-C++")

    百度地图SDK 是用C/C++编写的,所以导入这个SDK库到新项目中,程序需要有以下设置才能不会报错

    如果设置  Compile Sources As 为Objective-C++

    Compile Sources As 为Objective-C++

    .a静态库文件都能编译通过,但是问题是,如果项目中引用到了其它的第三方库文件,可能会产生错误,如下图所示:

    其他第三方报错

    解决方法就是:

    1,在Xcode的Project-> Edit Active Target -> Build Setting 中找到 Compile Sources As,切换回According to File Type,这样能保证其它的第三方库、以及之后可能添加的不同类型源码文件都没有问题.

    2,使用百度地图提供的第二种, 保证您工程中至少有一个.mm后缀的源文件(您可以将任意一个.m后缀的文件改名为.mm)

    这样就OK了

    如果你只是用百度地图没有使用其他.a静态库, 那就没有这个问题,其他使用是用C/C++编写的编写的SDK 应该也会有同样的问题.

    相关文章

      网友评论

          本文标题:iOS 百度地图 有关OC和C++混编造成其它类错误的问题(Co

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