您的位置:首页 > 产品设计 > UI/UE

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

2012-09-10 16:55 274 查看
使用百度地图 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:
4000
] 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为后缀,这问题就解决了,很是奇怪。但是如果我要使用改变工程文件的编译方式的话,就会导致其他外部库报错,所以,在这里就分享这一种方法,实际上的文档上都有,但是当时没有仔细看,所以以后还是细心点比较好。
希望遇到问题的同学,能找到更好的解决办法,与我们分享
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息