美文网首页
iOS使用百度地图SDK,更改.mm文件后编译出错

iOS使用百度地图SDK,更改.mm文件后编译出错

作者: 陈鸿禧 | 来源:发表于2015-12-17 15:22 被阅读2179次

    百度地图SDK的文档里有这么一条

    1、静态库中采用ObjectC++实现,因此需要您保证您工程中至少有一个.mm后缀的源文件(您可以将任意一个.m后缀的文件改名为.mm),或者在工程属性中指定编译方式,即将Xcode的Project -> Edit Active Target -> Build -> GCC4.2 - Language -> Compile Sources As设置为"Objective-C++"

    所以我就将用到百度地图SDK的随便一个文件的后缀改成.mm

    Command + Run

    OHHHHHHHHHHH,编译失败

    nsobjcruntime.h  这个文件狂报错

    在Compile Sources As那里纠结了好久,不管改成什么还是报错

    最后一个一个报错信息点进去看....真相大白

    我有一个宏定义

    //日志打印

    #if LOGOPEN

    #define NSLog(FORMAT, ...) fprintf(stderr,"%s:%d\t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);

    #else

    #define NSLog(FORMAT, ...)

    #endif

    NSLog和系统的一样就不能通过编译

    改成其它名字就编译通过了。

    相关文章

      网友评论

          本文标题:iOS使用百度地图SDK,更改.mm文件后编译出错

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