penn-wang
一位老和尚,他身边聚拢着一帮虔诚的弟子。这一天,他嘱咐弟子每人去南山打一担柴回来。弟子们匆匆行至离山不远的河边,人人目瞪口呆。只见洪水从山上奔泻而下,无论如何也休想渡河打柴了。无功而返,弟子们都有些垂头丧气。唯独一个小和尚与师傅坦然相对。师傅问其故,小和尚从怀中掏出一个苹果,递给师傅说,过不了河,打不了柴,见河边有棵苹果树,我就顺手把树上唯一的一个苹果摘来了。后来,这位小和尚成了师傅的衣钵传人。

1.将API的libs文件夹拷贝到您的Application工程跟目录下

2.在XCode的Project -> Edit Active Target -> Build -> Linking -> Other Linker Flags中添加-all_load

3.设置静态库的链接路径,在XCode的Project -> Edit Active Target -> Build -> Search Path -> Library Search Paths中添加您的静态库目录,比如"$(SRCROOT)/../libs/Release$(EFFECTIVE_PLATFORM_NAME)",$(SRCROOT)宏代表您的工程文件目录,$(EFFECTIVE_PLATFORM_NAME)宏代表当前配置是OS还是simulator

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

以上是百度sdk给的说明 详情:http://developer.baidu.com/map/sdkiosdev-2.htm

期间,出现了各种 lib 链接 不上 的错误。

各种试验。

截图:

 

 

 

 

项目中别的文件, filetype 若为 :according to file type

则必须有 其他.mm文件。

 

error: missing required architecture i386 in file 出现了这个错误。

 

 

出现这个错误 往往是在  : [_mapManager start:s generalDelegate:nil];

_mapManager = [[BMKMapManager alloc] init];

NSString *s = @"20D6FD7A41FBC1E1892*******";

BOOL ret = [_mapManager start:s generalDelegate:nil];

 这个错误。我新建了一个项目没事。但放在我老项目里面就出现了问题。

网上也没有详细的说法。只发现一个论坛的回复说:项目重新来。。重新整个这个项目,ok了。。。(奇怪的事情。为啥重新整理项目就脱脱的了。)

 

而当到了真机下面 : 出现错误。

searchpath下面 :"Libs/Release-iphoneos"   "/Libs/Release-iphonesimulator"  这两个是需要顺序的

即:当你是模拟器编译:则 "/Libs/Release-iphonesimulator"需要放在 "Libs/Release-iphoneos" 前面

当你是真机编译 :则:"Libs/Release-iphoneos"  需要放在 "/Libs/Release-iphonesimulator" 前面  (上下位置,直接点击拖拽)

 真机编译出现错误:file is universal (2 slices) but does not contain a(n) armv7s slice。。这个错误解决:

1:在target的Build Settings里面,将Build Active Architecture Only改成YES

2:在target的Build Settings里面,找到Valid Architectures,删除其中的armv7s

posted on 2013-01-11 13:55  penn-wang  阅读(250)  评论(0编辑  收藏  举报