CoCos2D-X-2.1.5在Eclipse中导入HelloCpp项目搭建
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项目搭建的更多相关文章
- ④---在Eclipse中导入GIT项目
Eclipse中导入GIT项目 以下将为大家介绍如何在Eclipse中导入GIT项目. 一.在Eclipse中安装GIT 1首先打开Eclipse,然后点击Help>Install New So ...
- eclipse 中导入 maven项目 启动报错
导入Maven项目到Eclipse中时,出现问题如下: java.lang.ClassNotFoundException: org.springframework.web.context.Contex ...
- 在Eclipse中导入web项目时的问题总结
一.导入项目 在Project Explorer右击,import-->Existing Projects into Workspace,选择要导入的文件,Finish. 二.解决报错 (1)T ...
- Eclipse中的maven项目搭建
一.eclipse中的maven设置 1.打开“首选项”----> "maven"---->"Installations".用来查看maven的使用 ...
- eclipse中导入SVN项目步骤
1.eclipse中安装SVN插件 在线安装步骤: (1)点击 Help --> Install New Software...(2)在弹出的窗口中点击add按钮,输入Name(任意)和Loca ...
- 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 ...
- 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 ...
- eclipse中SSM(maven)项目搭建全过程+实现用户登录功能
项目创建之前确保eclipse中已经配置好了jdk,tomcat,maven如果没有配置下面有配置教程的链接 eclipse中配置jdk的教程url:http://www.cnblogs.com/ ...
- eclipse 中 导入git项目无法导入的问题
研发在git上打了一个分支,需要重新导入分支项目.此时发现与之前相同模式导入失败,不起作用. 解决: 需要在Git Repositories中对应项目下找到.project 文件并进行修改,修改项目名 ...
随机推荐
- ADOX
1.ADOX 概述 Microsoft ActiveX Data Objects Extensions for Data Definition Language and Security (ADOX) ...
- Java 基础【13】 I/O流概念分析整理
转载地址:http://blog.csdn.net/yuebinghaoyuan/article/details/7388059 java.io 中的流,可以从不同的角度进行分类. 按照数据流的方向不 ...
- Ubuntu中iptables的使用
(一) 设置开机启动iptables# sysv-rc-conf --level 2345 iptables on (二) iptables的基本命令 1. 列出当前iptables的策略和规则# i ...
- libevent个人理解
1.利用了前置声明来在c语言的基础上进行封装操作.即在include目录下防止event.h等头文件,在这些头文件中只暴露struct的声明却不暴露其定义,对于如event_base等结构的操作均使用 ...
- nginx的Mainline version、Stable version、Legacy version的版本区别
nginx的Mainline version.Stable version.Legacy version的版本区别 创建时间:2014-01-16 10:30:37最后修改:2014-09-23 20 ...
- C++开发WPF,Step by Step
示例代码 使用C++来开发WPF,主要是如何在MFC(Win32)的窗口中Host WPF的Page.下面我就做个详细的介绍. 一.创建工程, 由于MFC的Wizard会生成很多用不到的代码,所以我准 ...
- 导出CCS3.3数据及使用matlab处理的方法
CCS3.3是一款DSP的集成开发环境(IDE).在做DSP开发时,为验证算法.经常须要使用matlab进行算法验证,验证算法就须要数据.因此,一种交互的方法是: 使用DSP开发板连接CCS 用CCS ...
- url-pattern / /*匹配
http://hi.baidu.com/atell/item/522112d3db45081fd90e44e1 struts2中配置为 <url-pattern>/*</url-pa ...
- 【转】SVN与Git比较
摘要Svn是目前得到大多数人认可,使用得最多的版本控制管理工具,而Git的优势在于易于本地增加分支和分布式的特性,可离线提交,解决了异地团队协同开发等svn不能解决的问题.本文就这两种版本控制工具的异 ...
- Chrome禁用缓存
Chrome默认对JS和CSS等静态资源进行缓存,对HTML不启用缓存. 在开发阶段,我们想要更改之后马上看到效果,那就必须禁用JS和CSS. 快捷键是F12+F1,F12相当于打开dev-tool, ...