Cocos2dx(2.0版本以上)+eclipse开发配置(不需要Cygwin)



一、编译并运行HelloWorld项目

       1.为了方便,在D:\Android\cocos2d-x-2.1.4\cocos2d-x-2.1.4下建立workspace文件夹进行存放eclipse工程目录。(注意:该目录位置可任意)

       2.eclipse打开该目录,选择File-New-project,在弹出的界面中选择Android Project from Existing Code,如图:

       

       3.选择项目路径下的proj.android 路径(之前的版本是android 文件夹D:\Android\cocos2d-x-2.1.4\cocos2d-x-2.1.4\projects\HelloWorld),选中并新建文件,如图:

       

       4.单击鼠标右键选中项目后,选择properties-Builder-New,添加NDK 路径,如图:

       

       5.分别选择Browse File System 和Browse Workspace,选择ndkbuild.cmd 和项目的路径,如图:

       

       6.Refresh标签,选中下图红色。

       

       7.Cocos2D-x 2.0 以上版本还要设置NDK_MODULE_PATH 环境变量,如图2-19 所示,填
写Cocos2D-x 的库的路径和第三方库的路径,中间用分号相隔,如例:......\cocos2d-2.0-rc0ax-
2.0; .....\cocos2d-2.0-rc0a-x-2.0\ cocos2dx\platform\ third_party\android\prebuilt。

       

       8.Build Options标签,选中下图红色。

       

       8.Build Options标签,点击Specify Resource之后,选中jnni,Finish、应用、确定、确定。

       

       9.之后日志会出现错误:error: format not a string literal and no format arguments [-Werror=format-security]。在Application.mk(在eclipse工程下的jni)里面添加下面代码:APP_CPPFLAGS += -Wno-error=format-security

      10.src还有错误提示,是因为缺少cocos2D-x安卓包,把D:\Android\cocos2d-x-2.1.4\cocos2d-x-2.1.4\cocos2dx\platform\android\java\src下的文件复制到eclipse工程的src下(即:D:\Android\cocos2d-x-2.1.4\cocos2d-x-2.1.4\projects\HelloWorld\proj.android\src)。

      11.点击eclipse工程,右键“刷新”;点击菜单project-》clean。重新编译工程,需要等待几分钟。至此,直接在真机上可以运行,如下图。

      

四、一些问题的解决方案(以下来自网络)

    • 1. Library错误

      导入HelloCpp项目后,在 “项目属性-Java Build Path-source” 中加入 cocos2d-x-2.1.4\cocos2dx\platform\android\java 路径。然后进入 “项目属性-Android-Library”,删除这里的“Reference Project”,否则怎么编译都会报错。cygwin环境和ndk only环境均会出现。切记切记!

      2. NDK_MODULE_PATH 环境变量配置

      具体的路径可以查看 cocos2d-x-2.1.4\samples\Cpp\HelloCpp\proj.android\build_native.sh 的最后几行。cygwin环境不需要设置这个变量,直接执行build_native.sh 即可。

      这个环境变量可以配置在Windows系统环境变量中,也可以配置在Eclipse项目的builder属性中,还可以直接配置在 project/jni/Application.mk 文件中。

      若配置在 Application.mk 文件中,可以这样写: NDK_MODULE_PATH:=cocos2d-x-2.1.4;cocos2d-x-2.1.4\cocos2dx\platform\third_party\android\prebuilt

      3. Fatal signal 11 (SIGSEGV) at 0×00000000 (code=1)

      apk打包成功,安装执行后出现这个错误退出。这一般是由于C++编译失败造成。对于cygwin环境,再执行build_native.sh 编译一次即可成功;对于ndk only环境,也需要重新执行一次编译(如果没有配置自动刷新,那么可以手动选择Run-build project)。

      4. 建立自定义builder的问题

      网上其他文章都提到为了不依赖cygwin,需要在 “项目属性-Builders” 中建立一个新的buildr,调用NDK提供的ndk-build.cmd 来编译。这样做有2个问题:

      1. 没有强调 Builder 的编译顺序。默认新建的Builder是处于所有已有Builder的末尾,这可能会导致Android Package Builder等Builder依赖错误;
      2. 默认存在的 “CDT Builder” 依然是调用 bash build_native.sh 来编译,若没有安装cygwin,可能会出现下面的错误:

        bash D:/cocos2d-x/cocos2d-x-2.1.4/samples/Cpp/HelloCpp/proj.android/build_native.sh clean
        Cannot run program "bash": Launching failed
        Error: Program "bash" not found in PATH

      调整现有的Builder的属性:

      1. 调整 “项目属性-C/C++ Builder” 选项,将 “Build command” 的值从原来的 bash ${ProjDirPath}/build_native.sh 设置为x:\android-ndk-r8e\ndk-build.cmd
      2. 调整 “项目属性-C/C++ builder-Environment” 选项,加入 NDK_MODULE_PATH 环境变量,其值与上面介绍的相同。  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值