使用eclipse调试cocos2d-x C++ 代码(编写+真机调试,放弃VS)

http://blog.csdn.net/tt5267621/article/details/8940768

前提条件:

先看此文:http://blog.csdn.net/tt5267621/article/details/8941084(首先ecplise已经可以编译cocos2d-x再看此文)

  • 你已经下载coccos2d-x和NDK,并且会使用build_native.sheclipse编译cocos2d-x项目

安装NDK Plugin

英文好的同学可以直接查看官方说明Using the NDK plugin,这里我简单翻译一下

  1. 打开eclipse,在菜单里选择Help->Install New Software…
  2. 弹出的窗口里第一个框”Work with:“后面输入https://dl-ssl.google.com/android/eclipse/
  3. 稍等一会,下面会出来”Developer Tools”和”NDK Plugins”,全部选中,Next,同意协议,等安装完成后,重启eclipse
  4. eclipse重启后,到Eclipse->Preferences->Android->NDK,在这里设置你的NDK目录,比如我的,我设置到/android/android-ndk-r8e
  5. 安装完成

导入cocos2d-x目录下的示例游戏

这里我以cocos2d-2.1rc0-x-2.1.3/samples/Cpp/SimpleGame这个自带的小游戏为例子来说明一下.

假设你的eclipse是干净的,也就是左边的Package Explorer栏是空空的

  1. 导入libcocos2d-x到eclipse,右击Package Explorer空白区域,Import->Existing Android Code Into Workspace,然后在下一个窗口的Root Directory那里定位到cocos2d-2.1rc0-x-2.1.3/cocos2dx/platform/android/java这个目录,选中libcocos2dx,导入
  2. 按照上面的方法导入cocos2d-2.1rc0-x-2.1.3/samples/Cpp/SimpleGame/proj.android
  3. 现在eclipse里已经有了两个项目:libcocos2dx,SimpleGame

设置使用ndk-build来编译



因为我们不使用build-native.sh来编译,所以要先把资源文件得到在android项目的assets下,具体就是把cocos2d-2.1rc0-x-2.1.3/samples/Cpp/SimpleGame/Resources下面的所有文件复制到cocos2d-2.1rc0-x-2.1.3/samples/Cpp/SimpleGame/proj.android/assets下面去



准备工作完毕

  1. 在eclipse的Package Explorer里右击SimpleGame项目,选”Properties”,打开项目属性框
  2. 按下面设置Tool Chain Editor 
  3. 再设置ndk-build的命令,为 ndk-build NDK_DEBUG=1,确定,关闭对话框 
  4. 这个时候,你选择Project->Build All,会出现错误,意思是NDK_MODULE_PATH设置不对 
  5. 这里我们不设置NDK_MODULE_PATH,因为设置了它会让我们无法调试C++代码,解决上面问题的办法是:把编译过程中需要的库拷贝到系统默认的NDK_MODULE_PATH里,跟我来做
  6. 复制cocos2d-2.1rc0-x-2.1.3目录下的cocos2dx,CocosDenshion,extensions,external这4个目录到你的NDK的sources目录下,以我的电脑为例,就是/android/android-ndk-r8e/sources
  7. 复制cocos2d-2.1rc0-x-2.1.3/cocos2dx/platform/third_party/android/prebuilt目录的所有到NDK的sources目录下
  8. 这样我们复制到NDK的sources目录下的目录一共有cocos2dx,CocosDenshion,extensions,external, libcurl,libjpeg,libpng,libtiff,libwebp这几个
  9. 回到eclipse,再次Project->Build All,应该会编译成功

修改项目文件结构,以使cdt可以识别我们的C++文件

为了可以给C++下断点,我们必须修改一下当前的项目文件结构

  1. 移动cocos2d-2.1rc0-x-2.1.3/samples/Cpp/SimpleGame/Classes目录到cocos2d-2.1rc0-x-2.1.3/samples/Cpp/SimpleGame/proj.android/jni下面
  2. 修改cocos2d-2.1rc0-x-2.1.3/samples/Cpp/SimpleGame/proj.android/jni下面的Android.mk,把原来的

Android.mk中:

LOCAL_SRC_FILES := hellocpp/main.cpp             ../../Classes/AppDelegate.cpp            ../../Classes/HelloWorldScene.cpp             ../../Classes/GameOverScene.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes

修改为

LOCAL_SRC_FILES := hellocpp/main.cpp                Classes/AppDelegate.cpp                Classes/HelloWorldScene.cpp                 Classes/GameOverScene.cpp

LOCAL_C_INCLUDES := $(LOCAL_PATH)/Classes

也就是使文件指向正确的位置

Project->Build ALL 编译项目,应该可以成功编译

调试

  1. 我们给Classes目录下的HelloWorldScene.cpp文件里的ccTouchesEnd方法下一个断点,这样游戏运行后,点击屏幕应该可以触发我们的断点 
  2. 把手机连接到电脑上,右击SimpleGame, 选 Debug As->Android Native Application
  3. 如果需要选择手机,选你想调试的
  4. 游戏运行起来后,触摸屏幕,可以看到

eclipse自动切换到了Debug界面,而且成功的断点下来了,并且变量可以在右边窗口查看 Debug界面上的按钮就不再多说了,就是继续执行,单步执行什么的几个,摸索一下便知

Enjoy!

[原创文章,转载请注明]

PS: 上述操作中我们复制了cocos2dx的好多文件到NDK的目录下面去,显的有点繁琐,这样做的目录是为了避开去设置NDK_MODULE_PATH,如果一旦设置了NDK_MODULE_PATH,就会使的调试不可行,可能有更好的方法,如果你知道,或者有什么问题都可以直接在文章下面留言

时间: 2024-11-06 09:10:28

使用eclipse调试cocos2d-x C++ 代码(编写+真机调试,放弃VS)的相关文章

Xcode5.1.1+ios 7.1.2 免证书真机调试

Xcode假设不破解.无法真机调试, 也无法编译真机Release文件.仅仅有付费开通Apple开发人员账号,才干申请真机调试.而Xcode进行破解后,结合越狱的iPhone或iPad, 就可以免官方证书开发调试了! 生成本机证书 应用程序->其它->钥匙串訪问 菜单:钥匙串訪问->证书助理->创建证书, 然后按下面图片顺序操作就可以: Xcode 5免证书开发调试_打开创建证书菜单 Xcode 5免证书开发调试_输入证书名称iPhone Developer并选择覆盖默认值 Xco

Xcode5免证书真机调试

接续前篇<Xcode 3.2.5免证书开发调试>,推出Xcode 5 免证书真机调试 更新于2014年3月15日,适用 Xcode5.1及iOS7.1 Xcode如果不破解,无法真机调试, 也无法编译真机Release文件,只有付费开通Apple开发者账号,才能申请真机调试.而Xcode进行破解后,结合越狱的iPhone或iPad, 即可免官方证书开发调试了! 生成本机证书 应用程序->其他->钥匙串访问 菜单:钥匙串访问->证书助理->创建证书, 然后按以下图片顺序操

iOS真机调试步骤

## 01-真机调试### 什么是真机调试? :: 简单理解就是将App项目运行到真机上进行测试### 为什么要运行到真机上? *真机和模拟器环境的差异* :: 内存环境,网络环境; :: 传感器: 磁力计,陀螺仪,距离传感器等; :: 特定功能:打电话,发短信,蓝牙等. :: 用户体验不一样 ** APP发布之前一定要做真机调试!!! **### 怎样做真机调试** Xcode7.0之前,并不是任何人,任何电脑,任何APP,任何真机设备都可以进行真机调试的**1. 限制人 > (1)必须拥有A

开发者账号申请 真机调试 应用发布

 要解决的问题 • 开发者账号申请• 真机调试• 真机调试总结• 应用发布 • 应用发布的注意事项 开发者账号申请 浏览器地址栏输入:developer.apple.com进入.点击右上 方的Member Center  开发者账号申请 点击Register进行注册  开发者账号申请 如果有Apple ID点击1登录,如果没有点击2申请Apple ID, 申请后再点击1登录  开发者账号申请 1处划勾,2处同意  开发者账号申请 选择后点击Register 开发者账号申请 选择后点击Regist

android studio 真机调试

大家都知道开发android app 的时候可以有2种调试方式, 一种是Android Virtual Device(虚拟模拟器) ,另一种就是真机调试. 这里要说的是真机调试的一些安装步骤: 1. 电脑上安装手机USB驱动 如果没有安装驱动或者电脑没有自动安装驱动,无法正常检测设备的话,就算完成下面2步也会有以下提示:USB device not found 安装成功后在电脑的设备管理以及 Android Device Monitor 上都可以看到该设备. 顺便分享一下笔者使用的驱动,型号是 

真机调试iPhone程序

真机调试iphone应用程序 1.真机调试流程概述 1)       真机调试应用程序,首先需要有一个苹果开发者帐号,才可创建证书请求CSR: 2)       打开应用程序钥匙串访问(keychain access)请求证书: 3)       登录iDP Portal “certificates”栏目中提交证书请求: 4)       确认提交后,刷新页面自动生成.cer文件,将它下载到本地: 5)       双击.cer文件,即把证书放到了钥匙串访问中: 6)       通过itune

iOS开发之iPhone真机调试安装流程

iPhone 真机调试安装流程   一.对于真机调试,首先要在苹果网站上注册APP ID,以及购买iPhone Develop Program(iDP) 开发者授权,99美元.然后要创建证书请求CSR,创建步骤如下: 1.Mac OS 中,打开应用程序,找到 钥匙串访问(Keychain Access)工具打开主菜单 - 证书助理(Certificate Assistant)-从证书代理请求证书(Request a Certificate From a Certificate Authority

Mac OS X 10.10, Eclipse+ADT真机调试代码时,Device Chooser中不显示真机的解决方案

Mac OS X 10.10的环境下,Eclipse+ADT,进行真机调试时,会出现一个问题. Device Chooser对话框里不显示真机设备,只有重新插拔数据线才可以.经过测试,有两个临时解决方案 第一个方案 保持Deivce Chooser 对话框打开,然后在手机上,把debug调试的复选框,取消,再勾选一次,就能出现真机设备. 第二个方案更好一些,可以进入该项目的,Run Configurations设置界面,选择target,选择Launch on all compatible de

eclipse 真机调试报Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE Please chec...错误

eclipse 真机调试报Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE [Please check logcat output for more details. Launch canceled!   错误 解决办法: 在配置文件:AndroidManifest.xml加入如下代码: <manifest xmlns:android="http://schemas.android.com/apk/res/android&quo