百度地图api的引用中应该注意的问题

使用百度地图 api    

http://dev.baidu.com/wiki/imap/index.php?title=iOS平台  可在里边下载相对应的资源。

另外根据使用文档,对文件进行添加。

但是今天当我把 inc文件夹  libbaidumapapi.a 文件 以及mapapi.bundle 都导人进程序,还是报了9个错误

如以下错误

 "std::terminate()", referenced from:

      +[BMKNotifier(InternalMethod) getPoiResult:withData:withType:] in libbaidumapapi.a(BMKNotifier.o)

      +[BMKNotifier(InternalMethod) getAddrInfo:withData:] in libbaidumapapi.a(BMKNotifier.o)

      +[BMKNotifier(InternalMethod) getGeocodeInfo:withData:] in libbaidumapapi.a(BMKNotifier.o)

      +[BMKNotifier(InternalMethod) getTransitRouteResult:withData:] in libbaidumapapi.a(BMKNotifier.o)

      +[BMKNotifier(InternalMethod) getBusLine:withData:] in libbaidumapapi.a(BMKNotifier.o)

      +[BMKNotifier(InternalMethod) getStationInfo:start:end:] in libbaidumapapi.a(BMKNotifier.o)

      +[BMKNotifier(InternalMethod) getRouteResult:withData:type:] in libbaidumapapi.a(BMKNotifier.o)

      ...

  "vtable for __cxxabiv1::__class_type_info", referenced from:

   都是找不到libbaidumapapi.a 。解决办法是 

1.静态库中采用 ObjectC++实现,因此需要您保证您工程中至少有一个.mm 后缀的源文件(您可以将任意一个.m 后缀的文件改名为.mm),或者在工程属性中指定编译方式,即将 XCode Project -> Edit Active Target -> Build -> GCC4.2 - Language ->  Compile Sources As 设置为"Objective-C++"      这是在文档中看到的,  所以我就随便建了个项目,.m文件以.mm为后缀,这问题就解决了,很是奇怪。但是如果我要使用改变工程文件的编译方式的话,就会导致其他外部库报错,所 以,在这里就分享这一种方法,实际上的文档上都有,但是当时没有仔细看,所以以后还是细心点比较好。  希望遇到问题的同学,能找到更好的解决办法,与我们分享


转自:http://blog.csdn.net/fanmeilexiou/article/details/7964177

你可能感兴趣的:(ios,百度地图)