cocos2d-x 开发环境搭建

1.在mac上配置cocos2d-x开发环境,xcode & eclispe
http://www.cnblogs.com/xiaodao/archive/2013/01/08/2850751.html

解压缩cocos2d-x压缩包,在终端中运行install-templates-xcode.sh安装项目模板,如果已经安装了旧版本,旧版本将被覆盖。如果希望保留旧版本,可修改install-templates-xcode.sh内的安装路径,再执行。

2.升级cocos2dx2.0.4到2.1.1
   发现在cocos2dx2.0.4在android平台下对CCFileUtils::sharedFileUtils()->fullPathFromRelativePath的实现几乎是空,2.1.1有所改进,于是决定升级。
   主要步骤有:替换解压后的cocos2dx目录,注意修改其中的几个文件中的环境变量值,还有其中的工程不要删除了。
    /Users/gzty1/Library/Developer/Xcode/Templates目录下的cocos2d-x模板文件夹可以删除掉,然后重新安装xcode-cocos2dx模板。
   xcode工程的Build settigng\Proprocesson Macros下要定义预处理宏:CC_TARGET_OS_IPHONE,否则编译报#error  "Cannot recognize the target platform; are you targeting an unsupported platform?"                    
   工程下的libs目录中替换为最新的三个目录:cocos2dx,CocosDenshion,extensions
   重新编译工程,会发现一些文件被删除了,CCPoint竟然不再继承CCObject,开始为什么 要继承。
   在win系统中还要再招行build-win32.bat,可能要执行很久。

2.android版本的cocos2dx项目工程大致总结:
     在eclipse中使用的jni调用生成的libgame.so,工程中的Activity继承的是Cocos2dxActivity,而这些java文件是由/cocos2dx/cocos2dx/platform/android中提供的;
     android版本的cocos2dx项目工程需要由cocos2dx中的命令行来生成;
     jni/hellocpp/main.cpp和上层目录中的Classes中的工程c++代码文件一块被编译成libgame.so;
     java代码加载了libgame.so,然后只是调用了main.cpp中的函数;
     jni目录中的.mk文件只和生成so有关系;
    添加cdt,也许可以实现编辑c++代码文件,甚至编译出so,但运行断点调试c++文件更不知道怎么搞了;


待继续研究
http://stackoverflow.com/questions/10273807/tips-of-how-to-programming-using-cocos2d-x-on-eclipse-for-android
http://blog.plicatibu.com/how-to-debug-cocos2d-x-and-java-code-using-eclipse/
http://blog.plicatibu.com/developing-with-cocos2d-x-for-android-on-linux/


待继续研究 在eclipse中Run同时也编译C++资源
http://www.cr173.com/html/17612_1.html

3.在eclipse中Run同时也编译C++资源,即会自动调用工程中的uild_native.sh
   在eclipse中选中项目名右键点击New=>Other,
   在弹出对话框中选择C/C++=>Convert to a C/C++Proejct(Adds C/C++ Nature)
   在接下来一屏中选择C++ Project以及 Project Type为Makefile project, Toolchains为Other
   打开项目属性页面, c/c++ build中,修改Build command为
bash ${workspace_loc:/工程文件夹名称}/build_native.sh NDK_DEBUG=1 V=1
   编译,在控制台中"please define NDK_ROOT", 需要在Environment选项卡中添加NDK_ROOT环境变量。
   点击Run, 会看到Console窗口会有编译的输出, 编译成功. 运行成功.

猜你喜欢

转载自wwk.iteye.com/blog/1797336