开发环境:windows
IDE:vs2010(原生不支持早期的vs版本,但是可以手动配置)
多平台项目的创建
早期版本的cocos2d-x会提供一些IDE模板用于创建工程,但是在2.1之后官方推荐用python脚本创建
创建脚本所在目录:解压目录\tools\project-creator\create_project.py
当然,这是一个python脚本,需要安装python环境,安装包地址可以baidu或者google
create_project.py需要两个参数输入,因此需要在cmd模式下输入,-project 工程名 -package 用于android的包名 -language 开发语言(一般选择cpp)
如果不出意外那么会在解压目录下的project目录下生成响应的工程,里面包括了各种平台的工程文件
用vs2010直接打开proj.win32下面对应的sln,直接编译运行即可得到hello world
Android环境的配置
需要的软件环境adt(去google下载)
ndk(这个是需要在eclipse里面做配置)
jdk(java SDK )
cygwin(搜索一下,需要安装g++,vim,gdb等编译相关的工具)
安装完毕后把cygwin目录下的bin目录添加到系统环境变量Path中
打开eclipse,直接导入proj.android,类型为已存在的android工程(那个英文太长不好打)
导入之后编译器会提示错误
一般有两种情况
android版本不一致,这个时候只要修改project.properties文件中“target”字段为当前存在的android版本
另一个是会提示无法识别Cocos2dxActivity类,这个要在导入一个android工程,工程地址在:cocos2d-x解压目录\cocos2dx\platform\android\java
如果cygwin的bin目录没有配置到环境变量中则会提示找不到bash之类的问题
另外需要添加一个c++环境变量
NDK_ROOT=NDK的根目录地址
这个环境变量可以直接添加到Windows/Preferences那个全局选项中,这样其他项目就不用重复配置了
也可单独给指定项目配置
之后就可以编译了
这个时候有可能会出现另一位问题,编译可以通过,但是eclipse会产生一个Error
提示你NDK的版本比当前的最低版本高,意思差不多是说低版本的机器有可能不兼容
两个解决方法:
1、修改输出的最低android版本,使其高于ndk版本
2、修改 ndk根目录/build/core/add-application.mk 这个文件,把__ndk_warning改为__ndk_info,这样eclipse就不会作为error处理,而且这个worning任然会输出
大功告成!
另外android的so文件也可以直接在cywin中生成,只不过每次进到那个目录比较麻烦,当然也可以设置一个sh脚本直接搞定
接下来说明一下cywin下的编译
环境变量 NDK_ROOT同样需要配置
这个只要写到.bash_profile中就可以了
输入命令vim ~/.bash_profile
在最后增加两行
NDK_ROOT=NDK的根目录地址
export NDK_ROOT
保存退出后重新代开Cygwin
然后到proj.android目录下运行,build_native.sh,即可生成so文件
如果在cygwin里编译的话eclipse中就不需要再编译了,把C/C++ Build选项中的 Build Command中的指令直接删掉,然后直接debug,export什么的就行了
PS:如果放到cygwin编译的话cywin的bin也不需要添加到Path里面,另外eclipse的builder选项中需要把cdt builder给关掉,否则一直报错,因为已经不需要eclipse编译了
最后在说明一个比较容易被忽略的问题
如果工程中有新的cpp文件加入,需要修改jni目录下的Android.mk
在LOCAL_SRC_FILES变量中增加新的cpp,具体格式照着之前存在的写就是了