cocos2d-x移植:xcode到eclipse
xcode程序移植到eclipse
必要组件:
1.macos gcc编译器,若没有,在xcode->preference->downloads中下载command line tools(在命令行下输入g++,若显示command not found 则没有)
2. android sdk :本机目录为 /Users/zhangyao/IDE/android-sdk-macosx
3.cocos2d-x:本机目录为 /Users/zhangyao/Desktop/cocos2d-x-2.1.1
4.ndk 本机目录为 /Users/zhangyao/Desktop/android-ndk-re8
地址:http://developer.android.com/tools/sdk/ndk/index.html
选择macos 64bit
5.cdt 若没有 则在help->install new software中下载
Programming Languages->C/C++ Development Tools.
1.配置环境变量
终端中 输入 sudo vi ~/.bash_profile
输入i进入编辑环境 输入以下内容:
export COCOS2DX_ROOT=~/Desktop/cocos2d-x-2.1.1/
export NDK_ROOT=~/Desktop/android-ndk-r8e/
export ANDROID_SDK_ROOT=~/IDE/android-sdk-macosx/
export PATH=$PATH:$ANDROID_SDK_ROOT/tools
按下esc键退出编辑
输入:wq保存退出
2.在eclipse中创建项目(设项目名称为test)
cd Desktop/cocos2d-x-2.1.1
./create-android-project.sh
输入工程标志符com.cwa.test
选择android版本号:6
输入工程名:test
cd test/proj.android/
./build_native.sh
打开eclipse,选择file->new->other->Android->Android Project from Existing code->next->Browse->选择目录至cocos2d-x-2.1.4/test/project.android->finish
选择file->new->other->c/c++->convert to a c/c++ Project->next->选择上面建好的工程->finish
至此工程test创建完成
3.配置工程属性
右键工程名->properties
3.1 c/c++ Build 把use default build command的勾去掉,在build command中写(其中test为工程名):
bash ${workspace_loc:/test}/build_native.sh NDK_DEBUG=1 V=1
3.2 点开c/c++ Build 选择Environment->add
name:NDK_ROOT
value:/Users/zhangyao/Desktop/android-ndk-r8e
3.3 c/c++ General->Path and Symbols->add
/Users/zhangyao/Desktop/android-ndk-r8e/sources/cxx-stl/system/include
全部修改完,点OK
在GUN C++中加入
/Users/zhangyao/Desktop/cocos2d-x-2.1.1/cocos2dx/include
/Users/zhangyao/Desktop/android-ndk-r8e/platforms/android-14/arch-arm/usr/include
在Android中 最好选择最新的Android4.2.2(确保Andorid模拟机中已经下载好了4.2.2的API)
4.打开项目的AndroidMainfest.xml
把android:icon="@drawable/icon">一行改为android:icon="@drawable/ic_launcher">
android:minSdkVersion="8"
把8改成14
android:minSdkVersion="14"
关闭AndroidMainfest.xml save changes选yes
在src/org.cocos2dx.lib/Cocos2dxActivity.java中
在// ...add to FrameLayout
framelayout.addView(this.mGLSurfaceView);
这句后面加上一句(如果没有):
this.mGLSurfaceView.setEGLConfigChooser(8 , 8, 8, 8, 16, 0);
打开工程jni目录下的Android.mk ,修改成下图所示
MY_CPP_PATH := $(LOCAL_PATH)/ \
$(LOCAL_PATH)/../../Classes/
MY_FILES_SUFFIX := %.cpp
My_All_Files := $(foreach src_path,$(MY_CPP_PATH),$(shell find $(src_path)/.))
My_All_Files := $(My_All_Files:$(MY_CPP_PATH)/./%=$(MY_CPP_PATH)%)
MY_CPP_LIST := $(filter $(MY_FILES_SUFFIX),$(My_All_Files))
MY_CPP_LIST := $(MY_CPP_LIST:$(LOCAL_PATH)/%=%)
LOCAL_SRC_FILES := $(MY_CPP_LIST)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_C_INCLUDES += $(shell ls -FR $(LOCAL_C_INCLUDES) | grep $(LOCAL_PATH)/$)
LOCAL_C_INCLUDES := $(LOCAL_C_INCLUDES:$(LOCAL_PATH)/%:=$(LOCAL_PATH)/%)
把cocos2d-x引擎的根目录的cocos2dx/platform/android/java/src文件夹下org文件夹 复制到项目的src包(test/proj.android/src)下替换org文件夹
5.把xcode中所有的自建的类文件(包括.h和.cpp)复制到cocos2d-x-2.1.1/test/Classes
所有的资源文件复制到cocos2d-x-2.1.1/test/Resources
工程的图标文件放在cocos2d-x-2.1.1/test/res下的文件夹中
至此工程配置完毕。
在对工程作出修改,比如加入/替换新的资源文件,class后,最好对工程clean一下,如果clean后还出现问题,可以重新执行一下build_native命令。
Test 的 模拟器配置
最后,执行以下步骤可以把xcode和eclipse相关联,让在xcode中做的更改,eclipse可以自动做出更改。
1.打开Xcode中的test项目(项目名和eclipse中的相同)
选择classes分组,点删除,选择Move to Trash
2.在工程中添加新group,还命名为classes,右键classes->addFIles
然后把cocos2dx/test/classes中的类都添加回来,这样eclipse和xcode就公用了这些文件,在一个中做出更改,另一个里就会自动更改,如下图:
另:1. Android联网
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
2.android中的R文件 ,是伴随着加入资源等自动更新的
Android 在开发中会自动生成一个 R.java 文件 ,这个文件是自动生成的,最好不要去改。不过有时候这个 java 文件会跟我们捉迷藏,在程序中 R.xx.xxx 会出现经常报错现象。
1 对着工程点击鼠标右键 选择 Build Project,R.java 文件又回来。这样R.xx.xxx 就能 X 的出来了。
如果不行 试用第二种 方法
2 选择eclipse/myeclipse 的 clean 这样R文件也会出现
如果还不行 试用第三种
3 经过上面两种方法都不行 使用绝招 从别的工程中拷贝一份R文件过来 然后string.xml里随便改动一下 即可更新R文件
如果还不行 试用第四种
4 经过上面的3种方法都不行 说明我们的工程有问题 好好检查吧
比如resoure资源中的文件 命名,例result_main.xml,如果写成Result_main.xml是错误的 需要全部小写
cocos2d-x移植:xcode到eclipse的更多相关文章
- 从mac终端创建cocos2d-x项目在xcode和eclipse正常运行环境配置
一.创建可以同时运行在xcode和eclipse的项目: 1.打开mac终端,进入cocos2d-x目录下的tools/project-creator,执行命令./create_project.py ...
- Xcode自定义Eclipse中常用的快捷键
转载自http://joeyio.com/2013/07/22/xcode_key_binding_like_eclipse/ Xcode自定义Eclipse中常用的快捷键 22 July 2013 ...
- xcode 自定义Eclipse里边常用的快捷键
之前在用Eclipse写Java的 时候,有几个常用的快捷键,比如删除当前行,在当前行下面插入空行,向上/下移动当前行等等,到了Xcode里怎么也找不到这些快捷键,一直觉得 Xcode自带的快捷键不够 ...
- Xcode添加 eclipse 删除行、复制行快捷键
在使用eclipse过程中,特喜欢删除一行和复制一行的的快捷键.而恰巧Xcode不支持这两个快捷键,再一次的恰巧让笔者发现了一个小窍门来增加这两个快捷键,以下是步骤: <p> </p ...
- u-boot-2014.04移植FL2440(使用eclipse编辑uboot)
1.首先安装eclipse 安装指令 : apt-get install eclipse 使用上面的命令会安装好jdk 和eclipse,eclipse必须在Java环境执行,所以须要安装jdk环境. ...
- 关于cocos2d这个东西
我是在今年6月份左右接触到cocos2d这个东西的,当时就是想写个小游戏,结果买书的时候误打误撞就买了cocos2d的书. cocos2d是一个开源的游戏引擎,用于构建2d游戏,同时也可以用它写各种图 ...
- Android导入Cocos2D的Sample项目
导入Cocos2D项目到Android的Eclipse时注意以下几点 1. Set up Variables: Eclipse->Windows->Preferences->Gene ...
- Xcode下的中文乱码问题
Xcode下的中文乱码问题 转载自:http://linyehui.me/2014/07/09/convert-gbk-to-utf8-on-mac.html =========== 问题原因 绝大部 ...
- Ubuntu14.04LTS下使用eclipse搭建Cocos2d-x的Android环境
from://http://www.58player.com/blog-2534-94136.html 最近想玩玩游戏制作,于是选择了目前流行的游戏引擎Cocos2d-x,这个东西虽然有Android ...
随机推荐
- python enumerate用法总结--转载
enumerate()说明 enumerate()是python的内置函数 enumerate在字典上是枚举.列举的意思 对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enum ...
- Oracle学习笔记(一)——并发与锁
1 并发 多用户数据库管理系统的一个主要任务是对 并发(concurrency)进行控制,即对多个用户同时访问同一数据进行控制.当缺乏有效的并发控制时,修改数据的操作就不能保证正常,从而危害数据完整性 ...
- Unity游戏中关于伤害范围的计算
1.纯数学计算 范围计算 + 方向计算: 先将不在伤害范围的敌人排除掉,再计算处于伤害范围并且角度正确的敌人. 以上的计算是以人物的中心来计算的, 所以这中方式就有些局限性了,比如:一个四足怪物,只有 ...
- Python 爬虫-Scrapy框架基本使用
2017-08-01 22:39:50 一.Scrapy爬虫的基本命令 Scrapy是为持续运行设计的专业爬虫框架,提供操作的Scrapy命令行. Scrapy命令行格式 Scrapy常用命令 采用 ...
- 关于C和C++
最开始学的就是C和C++,但只是学过,根本就不知道怎么使用. 后来接触了Python和Perl才知道怎么将编程应用于实际需求当中,读取文件,存放到数据结构,处理,输出. 但脚本语言有其固有的缺点,不能 ...
- Ciel the Commander CodeForces - 321C (树, 思维)
链接 大意: 给定n结点树, 求构造一种染色方案, 使得每个点颜色在[A,Z], 且端点同色的链中至少存在一点颜色大于端点 (A为最大颜色) 直接点分治即可, 因为最坏可以涂$2^{26}-1$个节点 ...
- Docker 构建 redis 集群
安装docker 1.yum install docker 方法一: 1. docker pull redis 2.docker run -d --name redis-1 -p 7001:6379 ...
- 『Scrapy』全流程爬虫demo
建立好的爬虫工程如下: item.py 它用来存储解析后的响应文件: # -*- coding: utf-8 -*- # Define here the models for your scraped ...
- 『科学计算』通过代码理解线性回归&Logistic回归模型
sklearn线性回归模型 import numpy as np import matplotlib.pyplot as plt from sklearn import linear_model de ...
- HDU-3507 Print Article (斜率优化)
题目大意:将n个数分成若干个区间,每个区间的代价为区间和的平方加上一个常数m,求最小代价. 题目分析:定义状态dp(i)表示前 i 个数已经分好的最小代价,则状态转移方程为 dp(i)=min(dp( ...