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. ADOX

    1.ADOX 概述 Microsoft ActiveX Data Objects Extensions for Data Definition Language and Security (ADOX) ...

  2. Java 基础【13】 I/O流概念分析整理

    转载地址:http://blog.csdn.net/yuebinghaoyuan/article/details/7388059 java.io 中的流,可以从不同的角度进行分类. 按照数据流的方向不 ...

  3. Ubuntu中iptables的使用

    (一) 设置开机启动iptables# sysv-rc-conf --level 2345 iptables on (二) iptables的基本命令 1. 列出当前iptables的策略和规则# i ...

  4. libevent个人理解

    1.利用了前置声明来在c语言的基础上进行封装操作.即在include目录下防止event.h等头文件,在这些头文件中只暴露struct的声明却不暴露其定义,对于如event_base等结构的操作均使用 ...

  5. nginx的Mainline version、Stable version、Legacy version的版本区别

    nginx的Mainline version.Stable version.Legacy version的版本区别 创建时间:2014-01-16 10:30:37最后修改:2014-09-23 20 ...

  6. C++开发WPF,Step by Step

    示例代码 使用C++来开发WPF,主要是如何在MFC(Win32)的窗口中Host WPF的Page.下面我就做个详细的介绍. 一.创建工程, 由于MFC的Wizard会生成很多用不到的代码,所以我准 ...

  7. 导出CCS3.3数据及使用matlab处理的方法

    CCS3.3是一款DSP的集成开发环境(IDE).在做DSP开发时,为验证算法.经常须要使用matlab进行算法验证,验证算法就须要数据.因此,一种交互的方法是: 使用DSP开发板连接CCS 用CCS ...

  8. url-pattern / /*匹配

    http://hi.baidu.com/atell/item/522112d3db45081fd90e44e1 struts2中配置为 <url-pattern>/*</url-pa ...

  9. 【转】SVN与Git比较

    摘要Svn是目前得到大多数人认可,使用得最多的版本控制管理工具,而Git的优势在于易于本地增加分支和分布式的特性,可离线提交,解决了异地团队协同开发等svn不能解决的问题.本文就这两种版本控制工具的异 ...

  10. Chrome禁用缓存

    Chrome默认对JS和CSS等静态资源进行缓存,对HTML不启用缓存. 在开发阶段,我们想要更改之后马上看到效果,那就必须禁用JS和CSS. 快捷键是F12+F1,F12相当于打开dev-tool, ...