1、前言

最新正在做一个校园增强现实的应用,虽然不知道cocos2d-x具体到最后能做成什么样子,但还是拿来试试,本文章仅从在Eclipse中采用复制一个新项目副本的方式来导入一个现成的HelloCpp为例,讲述如何配置cocos2d-x项目,当然如何从头开始建立一个cocos2d-x项目还没研究,这里就先做记录。

2、问题描述

由于我不喜欢在原本的项目上进行修改,因此我总是导入到自定义的目录下进行编译,但是发现第一次建立cocos2d-x的项目有很多错误,项目根本无法编译通过,而且网上也很难找到对应的解决方案,最后琢磨出来要修改很多才能OK。

3、原因

最主要原因的是项目的配置和目录的指定,下面详细说明。

4、解决方案

Step1:使用Eclipse在E:\cocos2d-x-2.1.5\samples\Cpp\HelloCpp目录下导入proj.android项目,该项目是转为Android平台准备的,而其他则是为其他平台准备的。

Step2:把E:\cocos2d-x-2.1.5\cocos2dx\platform\android\java\src\org\cocos2dx目录下的源码lib库文件目录复制到导入好的项目HelloCpp\src\org\cocos2dx目录下,最后在Eclipse中刷新src目录,就会看到如下的样子。

Step3:在cocos2d的资源文件E:\cocos2d-x-2.1.5\samples\Cpp\HelloCpp\Resources下到找需要的文件,并把它复制到D:\MyCODE\Android\HelloCpp\assets目录下,assets目录是开发人员需要自己建立,最后如下图所示。

Step4:修改Application.mk文件配置

  在Application.mk文件中添加NDK_MODULE_PATH:= E:/cocos2d-x-2.1.5;E:/cocos2d-x-2.1.5/cocos2dx/platform/third_party/android/prebuilt(注意这里的斜杠方向)

如果你想你的程序能够在Android X86模拟器中运行,那么还需要在该文件中添加APP_ABI := armeabi armeabi-v7a x86,表示该程序支持armeabi/armeabi-v7a/x86这三种内核。

Step5:修改项目编译选项

C/C++ Build -> Builder Settings -> Build command:

注意:要把“Use default build command”前的勾取消,并修改“Build command”,这里我写“${NDK_ROOT}”因为我在电脑中添加了环境变量,如下图,当然也可以写绝对地址。

C/C++ Build -> Environment ->add

这里添加的变量和Application.mk中添加的变量值相同。

Step6:修改Link Folder,添加项目Classes目录下的C++源码(注意)

由于导入项目后项目的位置已经和原来的发生改变,所以需要修改所有Link Folder目录。首先在项目中删除Classes、cocos2dx、extensions这三个目录,然后在项目属性C/C++ General -> Paths and Symbols下的Source Location标签中逐一添加Classes、cocos2dx、extensions这三个Link Folder。

Classes:E:\cocos2d-x-2.1.5\samples\Cpp\HelloCpp\Classes

cocos2dx:E:\cocos2d-x-2.1.5\cocos2dx

extensions:E:\cocos2d-x-2.1.5\extensions

Step7:修改Includes(注意)

在项目属性C/C++ General -> Paths and Symbols下的Includes中修改和添加对应的目录。

E:/Android/android-ndk-r9/sources/cxx-stl/gnu-libstdc++/4.6/include

E:/Android/android-ndk-r9/sources/cxx-stl/system/include

E:/Android/android-ndk-r9/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include

E:/Android/android-ndk-r9/platforms/android-8/arch-arm/usr/include

E:/cocos2d-x-2.1.5/cocos2dx

E:/cocos2d-x-2.1.5/cocos2dx/include

E:/Android/android-ndk-r9/sources/cxx-stl/stlport/stlport

E:/Android/android-ndk-r9/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.4.3/include

CoCos2D-X-2.1.5在Eclipse中导入HelloCpp项目搭建的更多相关文章

  1. ④---在Eclipse中导入GIT项目

    Eclipse中导入GIT项目 以下将为大家介绍如何在Eclipse中导入GIT项目. 一.在Eclipse中安装GIT 1首先打开Eclipse,然后点击Help>Install New So ...

  2. eclipse 中导入 maven项目 启动报错

    导入Maven项目到Eclipse中时,出现问题如下: java.lang.ClassNotFoundException: org.springframework.web.context.Contex ...

  3. 在Eclipse中导入web项目时的问题总结

    一.导入项目 在Project Explorer右击,import-->Existing Projects into Workspace,选择要导入的文件,Finish. 二.解决报错 (1)T ...

  4. Eclipse中的maven项目搭建

    一.eclipse中的maven设置 1.打开“首选项”----> "maven"---->"Installations".用来查看maven的使用 ...

  5. eclipse中导入SVN项目步骤

    1.eclipse中安装SVN插件 在线安装步骤: (1)点击 Help --> Install New Software...(2)在弹出的窗口中点击add按钮,输入Name(任意)和Loca ...

  6. eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.Maven

    org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter) 解决方法为:更新eclipse中的maven插件 1.help ...

  7. eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.proje

    org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter) 解决方法为:更新eclipse中的maven插件 1.help ...

  8. eclipse中SSM(maven)项目搭建全过程+实现用户登录功能

    项目创建之前确保eclipse中已经配置好了jdk,tomcat,maven如果没有配置下面有配置教程的链接   eclipse中配置jdk的教程url:http://www.cnblogs.com/ ...

  9. eclipse 中 导入git项目无法导入的问题

    研发在git上打了一个分支,需要重新导入分支项目.此时发现与之前相同模式导入失败,不起作用. 解决: 需要在Git Repositories中对应项目下找到.project 文件并进行修改,修改项目名 ...

随机推荐

  1. D. Flowers Codeforces Round #271(div2)

    D. Flowers time limit per test 1.5 seconds memory limit per test 256 megabytes input standard input ...

  2. Starting MySQL.. ERROR! The server quit without updating PID file (/gechong/mysqldata/10-9-23-119.pid).

    配置文件修改错误了,还原一下重启服务就OK了. # /etc/init.d/mysql start

  3. js replace全部替换的方法

    1.JS replace()方法替换变量(可以对变量进行全文替换) string.replace(new RegExp(key,'g'),"b"); 2.封装 String.pro ...

  4. Unix 网络编程 读书笔记3

    第四章 基本tcp 套接口编程 注意区分AF_XXX 和PF_XXX,AF代表address family, PF代表protocol family. 1 socket 函数 2 connect 函数 ...

  5. Theano Logistic Regression

    原理 逻辑回归的推理过程能够參考这篇文章:http://blog.csdn.net/zouxy09/article/details/20319673,当中包括了关于逻辑回归的推理,梯度下降以及pyth ...

  6. Tomcat 错误代号集

    收集了一些常见的tomcat 错误代号以及附上状态代码  状态信息  含义.希望对大家有帮助. 状态代码  状态信息  含义100  Continue  初始的请求已经接受,客户应当继续发送请求的其余 ...

  7. 【laravel5.4】{{$name}}、{{name}}、@{{$name}} 和 @{{name}} 的区别

    1.前面带@符号的,表示不需要laravel的blade引擎进行解析:有@的,则需要blade解析 2.{{$name}} 表示:blade解析 后台php的 name变量 {{name}} 表示:b ...

  8. 【LeetCode】129. Sum Root to Leaf Numbers (2 solutions)

    Sum Root to Leaf Numbers Given a binary tree containing digits from 0-9 only, each root-to-leaf path ...

  9. 能让你聪明的工作DEAL四法则,来自《每周工作四小时》书籍

    来自书籍<每周工作四小时>,作者蒂莫西·费里斯(Tim Ferriss,昵称:蒂姆)   能让你聪明的工作DEAL四法则: 第一步:D——定位(Definition) 第二步:E——精简( ...

  10. .NET压缩图片保存

    需求: 需要将用户后买的图片批量下载打包压缩,并且分不同的文件夹(因:购买了多个用户的图片情况) 文章中用到了一个第三方的类库,Nuget下载 SharpZipLib 目前用的 1.1的版本 效果: ...