虚拟主机中三种网络模式介绍

cocos2d-x升级到3.0后变化不小,除了API的变化(主要是函数和类名称变化,以及使用了C++11的不少特性,function/bind, lamda, std::thread…),创建和编译工程也做了一些简化调整。本文主要讨论一下cocos2d-x3.0 在android平台开发的环境设置及工程创建编译流程。

1.   初始设置

除了2.x所需要的python,jdk, android sdk和ndk之外,还需要部署apache-ant。

1)      在path中设置好java环境变量:

JAVA_HOME=C:\jdk_xx.xx.xx

path加上%JAVA_HOME%\bin;

CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

2)      安装python 2.x版本。

3)      部署好android sdk, ndk, ant之后,运行...\cocos2d-x-3.0\ setup.py。提示输入ndk,sdk和ant目录,这里要注意,androidsdk设置为 …\adt-bundle-windows-x86\sdk,ndk目录设置为…\android-ndk,而ant目录要设置为…\apache-ant\bin,和前两者设置为根目录不同,要设置到bin目录,否则不生效,部署apk的时候会提示找不到ant。

4)      三个目录设置完成后自动关闭setup.py脚本。开发环境设置完毕。

2.   创建工程

2.x

cocos2d-x\tools\project-creator目录下,命令行执行python create_project.py –project ABC –package com.xyz.abc –language cpp创建工程

创建好的工程目录在cocos2d-x\projects,不能复制到其他路径,否则会有工程依赖问题。

3.0

cmd命令行进入自己选择的工程路径,执行cocos new MyGame -p com.your_company.mygame -l cpp

等待工程创建完毕。

3.0版本会把依赖的cocos2dx源文件复制到自己创建的工程目录,在cocos2d文件夹下。所以不存在拷贝工程引起的依赖问题。

3.   编译工程

创建完成后,cd进入工程目录,执行cocos compile –p android –j 4编译工程,cocos run –p android –j 4编译+部署apk+运行。

-p参数指定平台

-j参数指定使用多少个线程执行编译,官方的说法是可以加快编译速度。(可选项)

默认是debug编译,-m release可以指定编译为发布版。注意,release必须小写,写成Release无效。

更多参数参见官方文档:

https://github.com/cocos2d/cocos2d-console/issues/27

4.   部署apk

cocos deploy –p android部署编译好的apk,cocos run –p android可以编译好直接部署。

5.   清理工程

官方文档的cocos clean命令执行后提示Error:argument ‘clean‘ not found。

看一下cocos2dx的命令脚本,目录在cocos2d-x-3.0\tools\cocos2d-console。

查看bin目录下的cocos2d.ini:

#

#cocos2d command line tool configuration file

#

[plugins]

project_new.CCPluginNew

project_compile.CCPluginCompile

project_run.CCPluginRun

project_deploy.CCPluginDeploy

plugin_jscompile.CCPluginJSCompile

#plugin_version.CCPluginVersion

#plugin_install.CCPluginInstall

#plugin_update.CCPluginUpdate

#plugin_clean.CCPluginClean

#plugin_dist.CCPluginDist

# To adda new plugin add it‘s classname here

可以看到clean命令被注释掉了,只有new,compile, run, deploy可用,原因不明,那就不用命令清理工程了,改用手动清理吧,很简单,需要清理时把porj.android目录bin, obj, libs, assets, gen目录都删除就好了。可以写个脚本完成。

6.   开发环境

cocos2d-x2.x版本创建的工程可以直接使用vs2010编译。在windows上开发调试好后移植到android平台就可以了。升级到3.0版本后,由于使用了c++11,最低支持版本为vs2012。vs2012要求win7以上os,没法在xp系统上调试程序了。

既然如此,就不win32工程进行开发了,直接编译android平台,也省去了移植这一过程。

命令行编译部署android工程前面都介绍过了,下面需要的就是选择一个IDE方便开发,这里推荐codeblocks。创建工程步骤如下:

1)      在游戏工程根目录创建一个codeblocks空工程。

2)      添加Classes和cocos2d目录所有文件。

3)      预编译宏定义添加ANDROID 指定平台。

设置完毕,就可以进行开发了。需要编译时命令行执行cocos compile –p android –j 4就可以了。

根据命令行提示的错误代码行在codeblockside中查找相应源文件的对应行来定位bug。

添加新文件时可不要只在codeblocks里添加,还要在proj.android/jni/Android.mk中添加LOCAL_SRC_FILES。

另外,如果需要使用cocos2dx的extensions模块,也需要修改Android.mk文件。

修改如下:

LOCAL_C_INCLUDES:= $(LOCAL_PATH)/../../Classes \

$(LOCAL_PATH)/../../cocos2d\extensions

LOCAL_WHOLE_STATIC_LIBRARIES+= cocos_extension_static

$(call import-module,extensions)

添加其他模块与之类似。

7.   Log输出

cocos2d-x3.0使用新的打印函数log(2.x版本是CCLog),我们需要使用adb和logcat工具查看log输出(要在命令行里使用adb,记得配置adt-bundle-windows-x86\sdk\platform-tools到path)。

命令行执行adb logcat,如果android设备连接USB或者开着模拟器,就可以看到输出的log信息了,但信息太多,程序里打印的重要信息很快会被淹没,必须设置过滤条件。

可以看到cocos2d-x的log信息格式为 D/cocos2d-xdebug info(12358): xxxx。

D表示debug,表示打印优先级,优先级是下面的字符,顺序是从低到高:

V — 明细 (最低优先级)

D — 调试

I — 信息

W — 警告

E — 错误

F — 严重错误

S — 无记载 (最高优先级,没有什么会被记载)

logcat的使用详见http://blog.csdn.net/xyz_lmn/article/details/7004710

执行adb logcat cocos2d-xdebug info:D *:S应该就可以过滤掉其他信息了,但执行后发现什么信息都没有了,这是为什么?

另外创建了个android工程,调试后发现tag里有空格adb就无法正确过滤,问题清楚了,下面需要修改一下cocos2dx的log函数。

打开cocos2d\cocos\base\CCConsole.cpp,找到_log函数(log和CCLog都调用这个),里面

#ifCC_TARGET_PLATFORM == CC_PLATFORM_ANDROID

__android_log_print(ANDROID_LOG_DEBUG, "cocos2d-x debug info",  "%s", buf);

修改cocos2d-x debug info为cocos2d-x_debug_info。

重新编译工程,命令行执行adblogcat cocos2d-x_debug_info:D *:S,可以正常过滤了,只显示cocos2dx的log输出。

注意,如果修改的是工程路径下的cocos2d\cocos\base\CCConsole.cpp文件,下次创建新工程,log函数的tag还是cocos2d-x debuginfo,想一劳永逸的话,可以修改cocos2d-x-3.0\cocos\base\CCConsole.cpp。这样创建新工程就会把这个文件拷贝到新工程下,就不用每次都修改了。

虚拟主机中三种网络模式介绍

时间: 2024-11-25 06:36:18

虚拟主机中三种网络模式介绍的相关文章

Vmware虚拟机仅主机(Host-only)、桥接(Bridge)、NAT三种网络模式介绍

Vmware虚拟机仅主机(Host-only).桥接(Bridge).NAT三种网络模式介绍 给大家介绍一下虚拟机的三种网络模式,希望能对大家有所帮助. 虚拟机在创建完成以后,会在物理主机上创建两个虚拟连接vmnet1和vmnet8,想必大家都知道了吧. 下面开始讲一下这三种网络连接吧 仅主机(Host-only)模式: 仅主机模式,可以实现虚拟机和物理主机之间相互通信,但虚拟机无法与外网(Internet)之间互相通信. 如下图所示: 我们可以认为虚拟机网卡与vmnet1连接在一个虚拟的交换机

虚拟机的三种网络模式介绍

VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式),要想在网络管理和维护中合理应用它们,那么就应该先了解一下三种工作模式,这里首先介绍它们什么情况下使用: bridged相当于创建一台独立的电脑,你可以让它跟主机通信,但是网络需要手工配置. host-only是与主机隔离的,但是虚拟机之间是可以互相通信的. nat优点就是能够上网. 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中

VMware虚拟机三种网络模式详解 Host-Only(仅主机模式)

三.Host-Only(仅主机模式) Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯.其网络结构如下图所示: 通过上图,我们可以发现,如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的.接下来

vmware虚拟机的三种网络模式

最近在学习搭建routeros软路由,目前还在搭建过程中,本以为按着教程来就会顺顺利利,没想到还是遇到了很多问题,目前卡在了虚拟机的网络问题,所以这里梳理一下虚拟机的三种网络连接模式,以便日后自省. 本打算在上班时利用空闲时间搭建,在设置routeros网络连接模式时发现必须是以桥接模式,考虑到公司有域控,不可能达到这个目的,所以作罢,决定利用下班时间搭建.闲话不多说,下面开始自我梳理(借鉴了一些网上的资料,这里是自己的一些理解和总结).首先,在vm中有三种网络连接方式选择:桥接模式(bridg

VMware中三种网络连接的区别

VMware中三种网络连接的区别 1.概述 2.bridged(桥接模式) 3.NAT(网络地址转换模式) 4.host-only(主机模式) 5.replicate physical network connection state 选项解释 1.概述 大家在安装完虚拟机后,默认安装了两个虚拟网卡,VMnet1和VMnet8,如下图.其中VMnet1是host网卡,用于host方式连接网络的.VMnet8是NAT网卡,用于NAT方式连接网络的.它们的IP地址是随机生成的. VMware提供了三

vmware虚拟机三种网络模式详解_转

原文来自http://note.youdao.com/share/web/file.html?id=236896997b6ffbaa8e0d92eacd13abbf&type=note 由于Linux目前很热门,越来越多的人在学习linux,但是买一台服务放家里来学习,实在是很浪费.那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有vmware workstations和virtual box等.在使用虚拟机软件的时候,很多初学者都会遇到很多问题,而vmware的网络连接问题是大家

VMware虚拟机三种网络模式详解

Bridged(桥接模式) 由于Linux目前很热门,越来越多的人在学习Linux,但是买一台服务放家里来学习,实在是很浪费.那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有VMware Workstations和VirtualBox等.在使用虚拟机软件的时候,很多初学者都会遇到很多问题,而VMware的网络连接问题是大家遇到最多问题之一.在学习交流群里面,几乎每天都会有同学问到这些问题,写这篇详解也是因为群里童鞋网络出故障,然后在帮他解决的过程中,对自己的理解也做一个总结.接下

VMware三种网络模式

VMware的三种网络模式 桥接模式 桥接模式,虚拟主机Vmware虚拟出来的操作系统相当于是局域网中一台独立的机器,可以访问局域中任意一台机器.由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网. 使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个路由器上的两台电脑.想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信. 如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用

【转】VMware虚拟机三种网络模式详解

由于Linux目前很热门,越来越多的人在学习Linux,但是买一台服务放家里来学习,实在是很浪费.那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有VMware Workstations和VirtualBox等.在使用虚拟机软件的时候,很多初学者都会遇到很多问题,而VMware的网络连接问题是大家遇到最多问题之一.在学习交流群里面,几乎每天都会有同学问到这些问题,写这篇详解也是因为群里童鞋网络出故障,然后在帮他解决的过程中,对自己的理解也做一个总结.接下来,我们就一起来探讨一下关于