cocos2dx andriod 开发环境配置

1.配置cocos2d-x & Android开发环境

我想如果有意搞这个东东的,应该不用什么图文并茂了吧,稍微看一下就明白了。


1.1.安装VS2008

这是微软开发的集成开发环境,也是cocos2d-x的C++主战场,VS2008是VS系列最稳定的版本。

下载地址:http://pan.baidu.com/share/link?shareid=532811852&uk=637953331

激活方式就不提供了,自己度娘。MSDN按需安装。


1.2.安装Visual Assist_X(可选)

这款神奇是VS2008必装的插件,智能提示,辅助功能,是VS的好基友。

下载地址:http://pan.baidu.com/share/link?shareid=564415924&uk=637953331

激活方式你懂的。


1.3.安装Cygwin

Cygwin是windows平台上运行Linux的模拟环境,对于从Linux到Windows的应用程序移植,或者是使用GNU工具集在Windows上进行嵌入式开发都非常有用。可以通过在线安装,也可以离线进行安装,我们这里主要用来进行cocos2d-x跨平台(安卓)的交叉编译。

Cygwin下载地址:http://pan.baidu.com/share/link?shareid=561636163&uk=637953331

Cygwin离线包下载地址:http://pan.baidu.com/share/link?shareid=561923288&uk=637953331

采用在线安装你要保证网速够给力,不然几个小时是必须的,这里提供的离线包包含了develop的相关工具。


1.4.安装Java

Java是Android支持的编程语言,也是安卓环境搭建的基础。主要麻烦的地方是环境变量的设置。

下载地址:http://www.java.com/zh_CN/ 下载chromeinstall-7u55.exe安装,生成名为jdk1.7.0文件夹

然后百度下载JDK,jdk-7-windows-i586.zip, 安装在上面同一个目录下,生成名为jre7文件夹。

环境变量配置:

JAVA_HOME:D:\Andorid\Java\jdk1.7.0_25(安装路径)

CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

1.5.安装带Android ADT的Eclipse

Eclipse集成开发环境是用以android app,当然也可以进行C++的开发,只要你安装相应的组件即可。安装Android ADT就可以进行Android app的开发,这里选择直接使用谷歌提供的打包好Android ADT的Eclipse,就免去了ADT的安装等操作。

下载地址:http://developer.android.com/sdk/index.html

安装完成后,通过目录下SDK Manager.exe下载相应SDK版本就可以了。


1.6.安装Android NDK

Android NDK是Android系统对外提供的基于C++接口的软件工具包,它集成了交叉编译器,只要修改相应的编译脚本文件就可以创建出so文件,且自动将其与Android app进行打包。

下载地址:http://developer.android.com/tools/sdk/ndk/index.html

使用方式:进入Eclipse→Windows→Preferences→Android→NDK→选择所在的路径。

需注意的是,有些较高NDK版本在和cocos2d-x配合编译的时候会出现问题。所以各个工具之间应选择可兼容的。


配置:修改在安装cygwin目录下,如本人安装目录如下D:\cygwin64\home\yangxg
然后最好用UE编辑器点开.bash_profile,然后在最下面加上ndk路径以及cocos2dx路径
NDK_ROOT=/cygdrive/e/android/android-ndk-r9c
export NDK_ROOT

保存退出,重启cygwin,如果有初五dos2unix -n .bash_profile .bash_profile

1.7.安装cocos2d-x

cocos2d-x引擎这里就不再介绍了,国内官网是http://cocos2d.cocoachina.com/

下载地址:http://cocos2d.cocoachina.com/download

安装方式:

(1)点击build-win32.bat,用来编译cocos2d-x文件。

(2)点击install-templates-msvc.bat,用来安装VS模版(向导)。

(3)create-android-project.bat,用来创建Andorid工程,在使用之前要先对其内容进行配置(Cygwin路径,Android SDK路径,Android NDK路径),如下;

[cpp]  view plain copy
  1. :: modify it to work under your environment    
  2. set _CYGBIN=e:\cygwin\bin  
  3. if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & pause & exit 4  
  4.   
  5. :: modify it to work under your environment  
  6. set _ANDROIDTOOLS=e:\android\android-sdk\tools  
  7. if not exist "%_ANDROIDTOOLS%" echo Couldn't find android sdk tools at "%_ANDROIDTOOLS%" & pause & exit 5  
  8.   
  9. :: modify it to work under your environment  
  10. set _NDKROOT=e:\android\android-ndk-r7  
  11. if not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6  

较高版本的cocos2d-x已经不再支持VS2008,而是转向支持比较高的VS2010和VS2012了,所以选择的时候请注意。


2.创建HelloCocos2dx的Win32项目

可以在vc2008 中添加 Cocos2d-win32 的应用模板。

进入到cocos2d-x解压之后的目录

再进入template\msvc。

怎样在vc2008中添加cocos2d-win32 Application模板

然后双击 InstallWizardForVS2008.js 脚本执行,你应该能看到像下面的提示。

怎样在vc2008中添加cocos2d-win32 Application模板

这时,再打开 vc2008, 就可以在新建项目下出现cocos2dx的模板;创建新的工程

编译的时候还是会出现问题:

fatal error C1083: 无法打开包括文件:“CCStdC.h”: No such file or directory

 fatal error C1083: 无法打开包括文件:“cocos2d.h”: No such file or directory。。。。。。

解决办法:

1、项目属性->c/c++->常规->附加包含目录加上这些文件:(可能coco版本不一样  文件名可能不一样)

D:\cocos2d-2.0-x-2.0.4\CocosDenshion\include;D:\cocos2d-2.0-x-2.0.4\cocos2dx\platform\third_party\win32\OGLES;D:\cocos2d-2.0-x-2.0.4\cocos2dx\platform\win32;D:\cocos2d-2.0-x-2.0.4\cocos2dx\platform;D:\cocos2d-2.0-x-2.0.4\cocos2dx\include;D:\cocos2d-2.0-x-2.0.4\cocos2dx;D:\cocos2d-2.0-x-2.0.4;D:\cocos2d-2.0-x-2.0.4\cocos2dx\kazmath\include;D:\cocos2d-2.0-x-2.0.4\external;

2、添加库目录:工具->选项->项目和解决方案->vc++目录添加:

D:\cocos2d-2.0-x-2.0.4\Debug.win32

再编译出现 问题:fatal error LNK1181: 无法打开输入文件“libcocos2d.lib”

解决:项目属性->连接器->常规->附加库目录:;D:\cocos2d-2.0-x-2.0.4\Debug.win32

编译成功,运行  出错  :没有找到libcocos2d.dll.......

解决:D:\cocos2d-2.0-x-2.0.4\Debug.win32 下面的.dll文件复制到c:/window/system32下。

接下来运行出错(本人项目  Release):无法找到*.exe的调试信息。

解决:首先打开菜单 项目->项目属性页
    1.  选择配置属性->链接器->调试->生成调试信息改为 是
    2.  选择 配置属性->C/C++ ->常规->调试信息格式 改为用于“编辑并继续”的程序数据库(/ZI)
    3.  选择 配置属性->C/C++ ->优化->优化 改为 禁用(/Od)


再运行正常,但是关闭的时候出现错误:debug assertion failed

但如果项目配置是Debug的话,该错误不会出现,网上查了一下,发现是个很水深的命题。具体怎么改我也不知道,就先用debug模式吧。有知道的朋友,留个答案给我。


3.创建HelloCocos2dx的Android项目

(1)关闭VS项目,将cocos2d-x中刚才创建的HelloCocos2dx的VS项目剪切到别的地方。

(2)点击已配置好的create-android-project.bat,输入包名和项目名称,项目名,接下来选择平台版本,输入ID。

退出, 这样项目就建立完成,

其中Classes:是存放默认工程的C++文件

proj.android 是android的eclipse工程项目

Resources 资源文件

(3)Cygwin的交叉编译,执行build_native.sh进行编译

出错:

Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: ./jni/Android.mk 。。。。

解决:这是因为上面选择ID所对应SDK版本不存在,所以选择一个存在的ID问题就解决了。


出错:

make: *** [obj/local/armeabi/objs-debug/cocosdenshion_static/SimpleAudioEngine.o    ] Error 1

解决:在文件夹CocosDenshion/android中找到SimpleAudioEngine.cpp文件,注释掉: //LOGD(deviceModel);

以下错误类似:

把cocos2d-2.0-x-2.0.4\CocosDenshion\android\opensl文件夹下的OpenSLEngine.cpp文件  //LOGD(errorInfo);

cocos2d-2.0-x-2.0.4\CocosDenshion\android\opensl文件夹下的SimpleAudioEngineOpenSL.cpp//LOGD(errorInfo);


       再执行:make: *** [obj/local/armeabi/objs-debug/cocos2dx_static/platform/android/CCCommon.o] Error 1

  解决:在Application.mk文件后面添加下面代码:APP_CPPFLAGS += -Wno-error=format-security


等待编译生成so文件,so文件在proj.android\obj\local\armeabi目录下,如下即成功了

[cpp]  view plain copy
  1. x/platform/third_party/android/prebuilt/libtiff/libs/armeabi/  
  2. StaticLibrary  : libcocos2d.a  
  3. Compile++ thumb  : cocosdenshion_static <= SimpleAudioEngine.cpp  
  4. Compile++ thumb  : cocosdenshion_static <= SimpleAudioEngineJni.cpp  
  5. StaticLibrary  : libcocosdenshion.a  
  6. SharedLibrary  : libgame.so  
  7. Install        : libgame.so => libs/armeabi/libgame.so  
  8. make: 离开目录“/cygdrive/d/Cocos2d-x/cocos2d-2.0-rc2-x-2.0.1/HelloCocos2dx/proj.android”  

5.导入eclipse,生成apk

先看一下CDT是否安装,点菜单File-New-Project,出现新建项目界面,出现了C/C++项目,如下图所示:

本人下载的是已经安装好CDT的eclipse,所以建议去下这种。

             

5、  不过光有CDT还不行,CDT编译代码还是需要调用cygwin当中的编译工具进行,所以我们还需要手动配置C/C++的编译器,还是以NDK自带的hello-jni为例子,首先打开Eclipse,File->New->Project->Android->Android project->Andriod project from exiting code,

         

        

6、  把这个项目导入进来,导入后如下图所示:

            

 

7、  编译C文件:

         

      右键单击HelloJni之后,点击Properties,弹出配置界面,之后再点击Builders,如下图所示:

         

         点击New按钮,新添加一个编译器,点击后出现添加界面,选择Program,点击OK:

       

8、  点击OK后,出现了添加界面:

        在Main Tab界面, 填充以下内容:
   Name:            

         编译器名称,随便填写。如:NDK_Builder
                       
   Location:           

         可执行工具的位置。即NDK安装目录下ndk-build.cmd的位置。

         你可以点击Browser File System...按钮选择Android NDK安装目录下的ndk-build.cmd文件来指定Location。如下图:

           

 

          你也可以设置一个变量来指定Android NDK的安装目录后设置Location。点击Variables按钮指定。如下图:     

            

            出现选择Variable的选择框。

             

             单击Edit Variables...按钮。出现Variable管理的界面。单击New按钮添加Variable。

            

             输入Variable的名称,如:ndk_home。然后单击Browse...按钮,选择Android NDK的安装目录后,单击OK。

             至此,NDK的Variable设置完成。

            

             然后,单击Main Tab界面上Location的Variables...按钮,选择刚才设置的ndk_home变量。如下图:

             

             单击OK后,在Location的编辑框里会有选择的ndk-home变量,在其后面添加上/ndk-build.cmd,OK,Location设置完成。

             如下图:

            
       Working Directory:             
  

            要编译的C/C++程序的工作目录。一般指定到jni文件夹,因为所有的C/C++程序都在该文件夹内实现。

            首先选择Working Directory里的Browse Workspace...按钮,如下图:

            

           然后,选择要编译的项目HelloJni的jni文件夹。

            

            

 

9、  接着切换到Refresh选项卡,给Refresh resources upon completion打上钩,选择The Project containing the selected resource项,

        表示只更新包含选中资源的项目,选中的资源项就是Main Tab选择的jni文件夹。

        完成后如下图:

            

10、  最后切换到Build Options选项卡,勾选During auto builds,如下图所示:

                

              Specify Resources 按钮单击后,选择HelloJni项目的 jni 文件夹。

11、单击 Apply OK 确认设置后,确保此 NDK 构建工具设置为列表中的第一个条目,方法是选择Up 按钮,直到其位于 Builders 列表的顶部

记得一定要点Up按钮,把它排到第一位,否则C代码的编译晚于Java代码的编译,会造成你的C代码要编译两次才能看到最新的修改,排到第一位后如下图所示:

                  

12、  现在再次恭喜你,编译配置也配置完成啦:            

单击项目,选择Build Project后。consolo出错:

D:/cocos2d-2.0-x-2.0.4/hellococo/proj.android//jni/Android.mk:19: *** Android NDK: Aborting.    .  Stop.
Android NDK: D:/cocos2d-2.0-x-2.0.4/hellococo/proj.android//jni/Android.mk: Cannot find module with tag 'CocosDenshion/android' in import path    
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?    
Android NDK: The following directories were searched: 

解决:修改android.mk:注意斜杠方向

include $(BUILD_SHARED_LIBRARY)
$(call import-add-path,d:/cocos2d-2.0-x-2.0.4)
$(call import-add-path, d:/cocos2d-2.0-x-2.0.4/cocos2dx/platform/third_party/android/prebuilt)
$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions)

又出现错误:

In file included from d:/cocos2d-2.0-x-2.0.4/cocos2dx/base_nodes/CCNode.h:34:0,
                 from d:/cocos2d-2.0-x-2.0.4/cocos2dx/actions/CCActionInterval.h:30,
                 from d:/cocos2d-2.0-x-2.0.4/cocos2dx/include/cocos2d.h:42,
                 from D:/cocos2d-2.0-x-2.0.4/hellococo/proj.android//jni/../../Classes/HelloWorldScene.h:4,
                 from D:/cocos2d-2.0-x-2.0.4/hellococo/proj.android//jni/hellocpp/main.cpp:6:
d:/cocos2d-2.0-x-2.0.4/cocos2dx/platform/android/CCGL.h:36:31: fatal error: GLES2/gl2platform.h: No such file or directory
compilation terminated.
make.exe: *** [D:/cocos2d-2.0-x-2.0.4/hellococo/proj.android//obj/local/armeabi/objs/game_shared/hellocpp/main.o] Error 1

解决:Application.mk添加:

APP_PLATFORM := android-8

console没问题,但是problems出现四个错误:

Description ResourcePathLocationType
error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/icon').AndroidManifest.xml/hellococoline 9Android AAPT Problem
Cocos2dxActivity cannot be resolved to a type hellococo.java /hellococo/src/com/android/testline 33Java Problem
Cocos2dxActivity cannot be resolved to a type hellococo.java /hellococo/src/com/android/testline 30Java Problem
The import org.cocos2dx.lib cannot be resolved hellococo.java /hellococo/src/com/android/testline 26Java Problem

解决:1

1.只需要将cocos2d-x引擎的根目录的cocos2dx/platform/android/java/src\org\cocos2dx\lib文件夹下文件夹全部复制到项目的src\org\cocos2dx\包下即可。

2.

也遇到了这个问题:console已经没问题了,但是problems出现错误:
Program "gcc" not found in PATH Preferences, C++/Build/Settings/Discovery, [CDT GCC Built-in Compiler Settings] optionsC/C++ Scanner Discovery Problem

Program "g++" not found in PATHPreferences, C++/Build/Settings/Discovery, [CDT GCC Built-in Compiler Settings] optionsC/C++ Scanner Discovery Problem

这个问题搞了好久,还是不明所以,最后实在没办法了,把eclipse的压缩包解压缩到别的地方,就是用新的eclipse来弄这个工程,一下子就不见了这个问题。有知道上面问题的朋友,麻烦发给我答案撒。


接下来把anriod的手机插入电脑, 点RUN就可以看到结果了。



深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值