2

我使用 cocos2d-x v2.2.2 构建成功。然后我按照本教程构建 cocos2d-x v3.0 beta 2 项目
该命令project-creator运行良好,我可以创建所有支持的平台项目。一切都很好,除了我的脚本
有错误:build_native.py

line 25
print "Can't know cpuinfo, use default 1 cpu"
                                            ^
SyntaxError: invalid syntax

由于我没有对 python 进行任何实验,所以我不知道这个错误。
这是我的环境详细信息:

  • 适用于 windows 3.3.4 的最新 python
  • 视窗 8、64 位
  • 最新的android sdk r22.3,ndk r9c
  • 已经设置了这些环境变量:ANDROID_SDK_ROOT, NDK_ROOT, ANDROID_SDK_ROOT/platform_tools,ANDROID_SDK_ROOT/tools

对于变量NDK_MODULE_PATH,我在 cocos2d-x v3.0 中找不到文件夹platform\third_party\android\prebuilt,所以我不知道如何处理它
我错过了什么吗?

更新:在google上搜索后,我发现在python 3上, print 应该用作方法,比如print(""),然后我用空格替换所有制表符以避免inconsistent use of tabs and spaces in indentation错误。但我还有另一个例外:

 The Selected NDK toolchain version was 4.8 !
 make.exe: *** D:\SycnDir\game: No such file or directory.  Stop.
 Traceback (most recent call last):
 File "D:\My Games\proj.android\build_native.py", line 166, in <module>
 build(opts.ndk_build_param,opts.android_platform,opts.build_mode)
 File "D:\My Games\proj.android\build_native.py", line 153, in build
 do_build(cocos_root, ndk_root, app_android_root,ndk_build_param,sdk_root,android_platform,build_mode)
 File "D:\My Games\proj.android\build_native.py", line 89, in do_build
  raise Exception("Build dynamic library for project [ " + app_android_root +
 " ] fails!")
 Exception: Build dynamic library for project [ D:\My Games\proj.android ] fails!
4

2 回答 2

2

最后我可以让它工作。以下几行引发了异常:

 if os.system(command) != 0
  raise Exception(“Build dynamic library for project [ " + app_android_root + " ] fails!”)

我发现我的文件夹路径上的空格字符导致 ndk 构建失败。我不敢相信这个愚蠢的错误让我浪费了两天时间。
现在我只是将我的项目移动到一个没有空间的文件夹中,它就像一个魅力。

于 2014-02-28T17:00:41.173 回答
0

cocos2d-x 3.0 beta 目前仅适用于 Python 2.7。我建议回到 Python 2.7,而不是尝试为 Python 3.0 调试脚本。

于 2014-02-28T06:34:24.693 回答