[Android实例] win32和android 的cocos2dx环境搭建详细教程

详细搭建步骤如下:
1、Android 开发环境搭建
Android开发环境搭建不是重点,相信看此文章的很多人都已经搭建成功,这里随便概述性的说说。
1、下载 JDK
2、下载 Eclipse
3、下载 android sdk
4、启动Eclipse , 安装 ADT

2、下载安装Android NDK 我使用的NDK版本为r5
Google 出的最新NDK 为 r7 下载地址为 
http://developer.android.com/sdk/ndk/index.html

3、下载安装cygwin 由于NDK编译代码时必须要用到make和gcc,所以你必须先搭建一个linux环境, cygwin是一个在windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,非常有用。通过它,你就可以在不安装linux的情况下使用NDK来编译C、C++代码了。下面我们一步一步的安装cygwin吧。
(安装的时候忘记截图了)

首先,你得先跑到 http://www.cygwin.com 下载setup.exe
1、 然后双击运行吧,运行后你将看到安装向导界面:
2、 点击下一步
此时让你选择安装方式:
1)Install from Internet:直接从Internet上下载并立即安装(安装完成后,下载好的安装文件并不会被删除,而是仍然被保留,以便下次再安装)。
2)Download Without Installing:只是将安装文件下载到本地,但暂时不安装。
3)Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的目录进行安装。

3、选择第一项,然后点击下一步:
4、选择要安装的目录,注意,最好不要放到有中文和空格的目录里,似乎会造成安装出问题,其它选项不用变,之后点下一步:
5、上一步是选择安装cygwin的目录,这个是选择你下载的安装包所在的目录,默认是你运行setup.exe的目录,直接点下一步就可以,

6、此时你共有三种连接方式选择:
1) Direct Connection:直接连接。
2) Use IE5 Settings:使用IE的连接参数设置进行连接。
3) Use HTTP/FTP Proxy:使用HTTP或FTP代理服务器进行连接(需要输入服务器地址、端口号)。
用户可根据自己的网络连接的实情情况进行选择,一般正常情况下,均选择第一种,也就是直接连接方式。然后再点击“下一步”,

7、 这是选择要下载的站点,我用的是 http://mirrors.kernel.org ,速度感觉还挺快,选择后点下一步
8、 此时会下载加载安装包列表

9、Search是可以输入你要下载的包的名称,能够快速筛选出你要下载的包。那四个单选按钮是选择下边树的样式,默认就行,不用动。View默认是Category,建议改成full显示全部包再查,省的一些包被隐藏掉。左下角那个复选框是是否隐藏过期包,默认打钩,不用管它就行,下边开始下载我们要安装的包吧,为了避免全部下载,这里列出了后面开发NDK用得着的包:autoconf2.1、automake1.10、binutils、gcc-core、gcc- g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make共12个包

10、 然后开始选择安装这些包吧,点skip,把它变成数字版本格式,要确保Bin项变成叉号,而Src项是源码,这个就没必要选了。
11、 下面测试一下cygwin是不是已经安装好了。
运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。
然后依次输入gcc –v,g++ -v,make –v,gdb –v进行测试,如果都打印出版本信息和一些描述信息,非常高兴的告诉你,你的cygwin安装完成了!

4、配置NDK环境变量
为了不让大家步入我的后尘,在这里得

注意:最好不要用记事本打开.bash_profile文件,用UltraEdit打开时会有个提示“你想转换C:\cygwin\home\Administrator\.bash_profile为DOS格式吗?”
呵呵!!这里千万不要点是,否则编码格式就被你改了,用cygwin运行NDK的时候就显示如下错误了:
  1. “-bash: $'\r': command not found
  2. -bash: $'\r': command not found
  3. -bash: $'\r': command not found
  4. -bash: /home/lenovo/.bash_profile: line 47: syntax error: unexpected end of file
复制代码
如果真要是这样了,解决办法:cygwin下etc\skel和etc\defaolts\etc\skel中有这个文件,重新copy此文件出来一份,然后将你改坏了的那个.bash_profile内容copy覆盖这个文件的内容,然后在此文件Copy到C:\cygwin\home\Administrator下,然后再运行就可以了。

1、 首先找到cygwin的安装目录,找到一个home\<你的用户名>\.bash_profile文件,我的是:E:\cygwin\home\Administrator\.bash_profile,(注意:我安装的时候我的home文件夹下面神马都没有,解决 的办法:首先打开环境变量,把里面的用户变量中的HOME变量删掉,在E:\cygwin\home文件夹下建立名为Administrator的文件夹(是用户名),然后把E:\cygwin\etc\skel\.bash_profile拷贝到该文件夹下)。
2、 打开bash_profile文件,添加NDK=/cygdrive/<你的盘符>/<android ndk 目录> 例如:NDK=/cygdrive/e/android-ndk-r5
export NDK
NDK这个名字是随便取的,为了方面以后使用方便,选个简短的名字,然后保存
3、打开cygwin,输入cd $NDK,如果输出上面配置的/cygdrive/e/android-ndk-r5信息,则表明环境变量设置成功了。

5、用NDK来编译程序 
1、 现在我们用安装好的NDK来编译一个简单的程序吧,我们选择ndk自带的例子hello-jni,我的位于E:\android-ndk-r7\samples\hello-jni(根据你具体的安装位置而定),
2、 运行cygwin,输入命令cd /cygdrive/e/android-ndk-r7/samples/hello-jni,进入到E:\android-ndk-r7\samples\hello-jni目录。
3、 输入$NDK/ndk-build,执行成功后,它会自动生成一个libs目录,把编译生成的.so文件放在里面。($NDK是调用我们之前配置好的环境变量,ndk-build是调用ndk的编译程序)
4、 此时去hello-jni的libs目录下看有没有生成的.so文件,如果有,你的ndk就运行正常啦!

特别说明:
cocos2d-2.0.3:运行create-android-project.bat,然后用cygwin编译后,cocos2dx-2.0创建的helloworld不生成org.cocos2dx.lib,估计新版本又有改动
cocos2d-2.0.2:运行ok,产生了lib包,但是没有自带win32的HelloWorld,由于之初不会创建win32的HelloWorld
cocos2d-2.0.1:利用create-android-project.bat,然后用cygwin编译后,导入eclipse中ok,win32创建的HelloWorld也ok,推荐大家使用2.0.1的这个版本,会减少很多麻烦。

6、下载cocos2d-x-2.0.1解压
我先说第一种:创建android版的cocos2dx的HelloWorld
1、用代码阅读工具打开create-android-project.bat(千万不用将它设置成默认程序打开,不然你就打不开了,倒是后就需要修改去注册表中修改,默认启动方式了。我是用UtralEdit打开的,用它打开的时候,千万不要转换其格式了噢)

2、设置环境变量路径:
set _CYGBIN=C:\cygwin\bin(这是我的路径,请设置成自己对应的安装路径)
set _ANDROIDTOOLS=C:\Users\Potter\Documents\work\Android\android-sdk-windows\tools(同理)
set _NDKROOT=C:\Users\Potter\Documents\work\Android\android-ndk-r8(同理)
记得保存,设置好这3个环境变量就ok了.

3、重新打开create-android-project.bat,下图所示:
输入包名,然后再输入工程名,
输入android版本id:注意的选2.2以上的版本才支持GLES2.0,不然导入eclipse会提示不支持GLES2.0的,那就是没有选2.2以上的原因,不过此时自己改成2.2的包就可以了
4、用cygwin编译我们产生的工程
如下图所示:


然后回车,显示如下结果:


由于我之前就已经编译过产生so了,所以会这样,如果是第一次编译会产生很多信息的,不过最后的信息和我这一样,这是你创建的工程HelloWorld就成功了。
5、将工程导入到eclipse中...

注意:有的可能导不进来,也就是找不到工程,哈哈!那是少了两个文件,

在别的工程里去copy一份过来,就能看到了。导入进来有感叹号!别急着运行,project中的clean下,然后稍等一下,工程没有感到好了,ok,这是我们运行:



第二种:win32的HelloWorld

我用我的mac在win7下搞了昨天一天,然后在我原来的老笔记本上装,同样的配置:vs2010+cocos2dx-2.0.1结果,结果跑起来非常顺利,一下就成功了。结果在mac上的win7下出现各种问题,费劲各种奏折,看了n篇文章,反复操作,然后不断的请高手指教,终于是在我的mac上的win7下vs2010上将其把HelloWorld给跑出来了。下面就和大家分享一下,我是如何搭建的,然后遇到了一些什么问题?

1、安装vs2010
2、然后运行cocos2d-x下的cocos2d-win32.vc2010.sln
3、右击解决方案、然后选生成解决方案


这里需要等待一段时间....
结果如下:


运气很好~ 然后点击HelloWorld工程,右击设置为启动项,然后调试运行....这是幸运人士显示的结果:


如果这个过程全是一次性通过的,恭喜你!你的运气真的非常棒!....
接下来截出这个生成过程中,我以前出现过得各种问题的图:
问题一:



以上两种情况出现的原因:你是的Path系统环境变量的路径,被弄没了



变量值,从左拉到右都没有看到关于System32相关的关键变量了....
解决办法:;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
将上面这段环境变量,添加到变量值最后面然后确定,就ok了...
然后再试试:生成和运行cocos2d-x下面的build-win32.bat,就不会出现上面的问题了。
问题2:


这个问题,绝大部分人生成的时候都会,报这个错,直接将cocos2d-x下面别的目录下,copy到cocos2d-x-2.0.1的Debug.win32下面,就ok了
还有很多什么缺这个,缺那个的,文件失败的,都采用这种方式去处理,直到不再生成文件或者什么失败的情况,好了,现在运行后,HelloWorld神奇的出现了



转自:http://blog.csdn.net/aa4790139/article/details/8086635
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Cocos2d-x Win32项目中嵌入网页,你可以使用CEF(Chromium Embedded Framework)来实现。CEF是一个开源的嵌入式浏览器框架,可以提供强大的Web功能。 以下是在Cocos2d-x Win32项目中嵌入网页的步骤: 1. 下载CEF:从CEF官方网站(https://cefsharp.github.io/)下载适用于Win32平台的CEF。 2. 集成CEF:将CEF库文件(如libcef.dll)复制到你的Cocos2d-x Win32项目目录中,并在项目设置中添加相关的头文件和库文件。 3. 初始化CEF:在Win32应用程序入口点(如WinMain函数)中调用CEF库的初始化函数来启动CEF进程并初始化CEF框架。 4. 创建WebView:在Cocos2d-x的场景中,使用CEF提供的API创建一个WebView控件,用于显示嵌入的网页。 5. 导航到网页:使用WebView控件的API,导航到你想要显示的网页。你可以加载本地HTML文件或远程URL。 6. 处理消息循环:在Win32应用程序中,处理CEF库提供的消息循环,确保WebView控件能够正确响应用户交互操作。 这里是一个简单示例的代码片段: ```cpp #include "cocos2d.h" #include "CCEGLView.h" #include "include/cef_app.h" #include "include/cef_browser.h" #include "include/cef_client.h" USING_NS_CC; class CEFClient : public CefClient { // 实现CefClient的方法,包括事件处理等 }; int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // 创建Cocos2d-x应用程序实例 Application app(hInstance, hPrevInstance, lpCmdLine, nCmdShow); // 获取Cocos2d-x的EGLView实例 CCEGLView* eglView = CCEGLView::sharedOpenGLView(); // 设置窗口大小 eglView->setViewName("Cocos2d-x Win32 WebView"); eglView->setFrameSize(800, 600); // 初始化窗口 if (!eglView->Create(hInstance)) return FALSE; // 初始化CEF CefMainArgs args(hInstance); CefRefPtr<CefApp> app(new CefAppImpl(args)); CefInitialize(args, settings, app.get(), nullptr); // 创建WebView控件 CefWindowInfo windowInfo; windowInfo.SetAsChild(eglView->getHWnd(), CefRect(0, 0, 800, 600)); CefBrowserSettings browserSettings; CefRefPtr<CefClient> client(new CEFClient); CefBrowserHost::CreateBrowser(windowInfo, client.get(), "http://www.example.com", browserSettings, nullptr); // 运行Cocos2d-x应用程序 return app.Run(); } ``` 上面的示例代码中,我们创建了一个Cocos2d-x Win32应用程序实例,并获取了EGLView实例。然后,我们设置了窗口大小,并初始化了窗口。接下来,我们初始化CEF,并创建了一个WebView控件,指定了窗口信息、浏览器设置和网页URL。最后,我们运行了Cocos2d-x应用程序。 请注意,这只是一个简单的示例,实际使用CEF进行网页嵌入可能涉及更多细节和配置。你可以参考CEF官方文档和示例代码以获取更详细的指导。 希望对你有所帮助!如果你有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值