解决Android在MAC OSX上编译缺少10.5SDK问题
2014-11-17 16:20
281 查看
在MAC OSX中下载Android所需的开发环境及代码, 官网有详细, 此处略
下完代码, 配置完开发环境准备编译时,报了以下错误:
[plain] view
plaincopy
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."
[plain] view
plaincopy
> 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函数括起来
[plain] view
plaincopy
#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
下完代码, 配置完开发环境准备编译时,报了以下错误:
[plain] view
plaincopy
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."
[plain] view
plaincopy
> 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函数括起来
[plain] view
plaincopy
#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
相关文章推荐
- 解决Android在MAC OSX上编译缺少10.5SDK问题
- 解决Android在MAC OSX上编译缺少10.5SDK问题
- cocos2d-x 3.0rc版编译到android平台缺少cocos-ext.h头文件的问题解决
- 解决android Launch2.2 源代码编译运行问题
- 解决 eclipse开发的android工程在linux上编译不过的@Override问题
- 编译Android源码时常见问题以及解决方法
- ubuntu11.0.4下编译Android2.3源码过程遇到问题解决
- MySQL问题贴3:Delphi第一次编译连接MySQl数据时缺少dll文件的解决办法
- 关于VS2005编译wince Application 时缺少DLL问题的解决
- Ubuntu10.10(64位)编译Android2.3源码问题解决
- Ubuntu10.04编译android2.2源码出错问题解决
- 自己编译Android gdbserver(解决运行 gdbserver时 Segmentation fault 问题)
- 编译 Android-2.1出现的问题,和解决方法。
- 解决eclipse开发的android工程在linux上编译不过的@Override问题
- Ubuntu编译android源码出错及问题解决
- 自己编译Android gdbserver(解决运行 gdbserver时 Segmentation fault 问题)
- Linux下编译出来的动态链接库缺少so后缀的问题解决
- 在fedora10下编译android以及常见问题解决
- Android编译没有找到AndroidManifest.xml问题解决
- ubuntu11.0.4下编译Android2.3源码过程遇到问题解决【不断更新】