解决Android在MAC OSX上编译缺少10.5SDK问题

6 篇文章 0 订阅
1 篇文章 0 订阅

在MAC OSX中下载Android所需的开发环境及代码, 官网有详细, 此处略


下完代码, 配置完开发环境准备编译时,报了以下错误:

Please install the 10.5 SDK on this machine at /Developer/SDKs/MacOSX10.5.sdk
external/qemu/Makefile.android:82: *** Aborting the build..  Stop.

明显是新的OSX版本没有安装10.5的SDK.

解决方法有两种:

1. 如果之前没有安装过XCode 4, 则从官网下载一个xcode 3.2.6版本

需要注册一个开发账号才能下载.Xcode下载

将xcode 3.2.6安装完后, 在/Developer/SDKs下就会有一个MacOSX10.5.sdk文件夹, 之后再将XCode4安装完就可以进行编译了.

2.如果之前安装过XCode4, 此时还是需要下载一个xcode 3.....

见官方的说明"We recommend version 3.1.4 or newer, i.e. gcc 4.2. Version 4.x could cause difficulties."

> open xcode_3.2.6_and_ios_sdk_4.3.dmg
> cd /Volumes/Xcode\ and\ iOS\ SDK/Packages
> open MacOSX10.5.pkg

安装时选择系统盘, 选择"Choose Folder"

将MacOSX10.5.pkg安装在/Developer目录


此时就将MacOSX10.5.sdk安装成功.

之后再进行编译, 会再报一个strnlen的错误, 这是因为./external/elfutils/config-compat-darwin.h文件中的strnlen函数与/usr/include/string.h中有冲突

所以用宏将工程中config-compat-darwin.h中的strnlen函数括起来

#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070 
static inline strnlen(...){ ... }
#endif 
此时再进行make就不会报错了.

因为Android编译环境设置的是SL, 需要10.5的SDK, 所以修改有两种方法, 一个是上面写的方法, 另一种就是修改external/qemu/Makefile.android, 将10.5修改为10.6.

第二种方法具体操作没有试过, 理论上是可行的.


PS.在通过macport安装相关依赖包时会出现SDL出错或其他错误, 很大原因是安装的依赖包没有成功. 需要重新安装.

需要将之前的Macport卸载后重新安装, 就OK了, 具体方法见:

http://hi.hiing.net/2011/06/use-homebrew-package-management.html


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值