cocos2dx跨平台环境

参考文章http://mobile.51cto.com/iphone-330448.htm

                http://www.cnblogs.com/lhming/archive/2012/06/27/2566467.html //cocos2dx android


(一)win7

环境:win7 64,vs2010,cocos2dx 2.0.1

找到cocos2dx目录(直接解压cocos2dx生成的目录)

依次运行

build-win32.bat   编译整个项目

install-templates-msvc.bat 安装wizard,bat脚本会自动对应vs2008,vs2010.

然后打开vs2010新建工程里就会多出cocos2dx工程

运行cocos2d-win32.vc2010.sln


这里出现过个问题install-templates-msvc.bat运行完新建工程时并没有cocos2dx选项

直接用cmd重新运行了install-templates-msvc.bat提示输入错误:没有文件扩展“.js”的脚本引擎

原来是.js文件被别的程序关联了

需要修改注册表[HKEY_CLASSES_ROOT\.js]下的默认那项键值改为“JSFile”

再重新运行install-templates-msvc.bat问题解决



(二)ios

环境:虚拟机vm8.0.3  ,mac lion10.7.4  ,xcode4.2  ,cocos2dx 2.0.1

1 安装

打开命令行

cd到cocos2dx目录下(直接解压cocos2dx生成的目录)

chmod +x install-templates-xcode.sh  获取执行权限

sudo ./install-templates-xcode.sh        安装cocos2dx到xcode

后面会自动识别xcode版本

2 运行cocos2dx

打开xcode创建项目里面会多出cocos2d的选项

新建,运行即可


(三)android

环境:win7 64,cygwin,eclipse juno 64,jdk 1.6 64,ndk r7

先说正常流程

1

修改cocos2dx根目录下create-android-project.bat

set_CYGBIN=C:\cygwin\bin                                                               Cygwinbin的路径
set_ANDROIDTOOLS=D:\android\android-sdk-windows\tools    android sdktools的路径
set_NDKROOT=D:\android\android-ndk-r5b                                  ndk的根目录

运行create-android-project.bat

2

依次根据提示输入包名,项目名,android版本号我用的2.3.3

会在cocos2dx文件夹下生成项目文件

里面Classes(c文件),proj.android(android工程),Resources(资源文件)

3

进入cygwin,cd到cocos2dx根目录下,执行./build-win32.bat 用于编译生成so库文件

4

打开eclipse,导入proj.android里的工程,然后直接运行



然后是非正常流程

进入cocs2d-x目录,用文本编辑器打开create-android-project.bat(在windows 7上如果正常双击,可能创建时有些文件的权限不足,导致创建工程不成,可以在此文件的第一行加上cd /d %~dp0,然后右键以管理员身份运行,不加这句无法用管理员权限运行)

将_CYGBIN=设置为cycgwin\bin安装的的绝对路径。

将_ANDROIDTOOLS设置为android sdk 的tools绝对路径

将_NDKROOT设置为android ndk的绝对路径


cd /d %~dp0的位置如下

@echo off
:: This script is used to create an android project.
:: You should modify _ANDROIDTOOLS _CYGBIN _NDKROOT to work under your environment.
:: Don't change it until you know what you do.
cd /d %~dp0
setlocal


右键以管理员身份运行create-android-project.bat

运行的时候会出现各种Permisson denied

解决方法如下

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\runas]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\exefile\shell\runas2]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\exefile\shell\runas2\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"

[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"

将这段保存为 .reg文件,然后用管理员权限运行

之后任何文件右键都会有 管理员取得所有权 的选项

我在两个文件夹运行了这分别是cocos2d-x解压后的文件夹和ndk解压后的文件夹

但问题是之后用管理员运行

也会各种Permisson denied

后发现主要是新建立的项目中(就是在cocos2dx根目录下生成的项目文件)一些文件没权限导致生成so库失败

位置如下

cocos2dx根目录\新生成的项目名\proj.android\jni\helloworld里面的main.cpp

cocos2dx根目录\新生成的项目名\proj.android\obj\local\armeabi

这里面的文件需要挨个给权限,方法右键->属性->安全->给用户完全控制权限即可(每次cocos2d创建android项目后都要这么做)

之后可正常生成so文件


到这微软给我们造成的麻烦还没有结束,用户权限问题还在继续能关的都关了,也搞不定微软的权限,sb微软

生成在cocos2d根目录下的项目文件里有个NUL文件,导致项目不能移动和删除,根本没法导入到eclipse中

 解决办法把项目文件复制出来,

复制的时候会提示NUL文件是否跳过,选跳过,

另外项目文件中proj.android\obj\local\armeabi里面的文件还要一一右键改权限,操蛋(之前已经做了的话这里应该不用再做,但要注意,总之没权限是不能复制的)

把整个项目复制出去后(此时里面已经没有了NUL这个文件)就可以用eclipse导入了


到最后win7权限的问题还是恶心的想吐,各种办法试过,很多文件还是没权限,看来还是用Administrator吧。


最后cocos2d 2.0以上暂时无法用模拟器,要用真机看效果





原文地址:https://www.cnblogs.com/nafio/p/9137756.html