Question

J'ai réussi la construction avec cocos2d-x v2.2.2.Puis je suis ce tutoriel pour construire le projet cocos2d-x v3.0 bêta 2
La commande project-creator a bien fonctionné et je peux créer tous les projets de plate-forme pris en charge.
Tout va bien sauf que j'ai une erreur avec build_native.py scénario:

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

Comme je n'ai aucune expérience avec Python, je n'ai donc aucune idée de ce bug.
Voici le détail de mon environnement :

  • Dernier python pour Windows 3.3.4
  • Windows 8, 64 bits
  • Dernier SDK Android R22.3, NDK R9C
  • Vous avez déjà défini ces variables d'environnement : ANDROID_SDK_ROOT, NDK_ROOT, ANDROID_SDK_ROOT/platform_tools, ANDROID_SDK_ROOT/tools

Pour la variable NDK_MODULE_PATH, je ne trouve pas de dossier commeplatform\third_party\android\prebuilt dans cocos2d-x v3.0, donc je ne sais pas quoi en faire
Est-ce que j'ai raté quelque chose ?

Mise à jour:après avoir cherché sur Google, j'ai trouvé que sur Python 3, print devait être utilisé comme méthode, comme print(""), puis je remplace toutes les tabulations par des espaces pour éviter inconsistent use of tabs and spaces in indentation erreur.Mais j'ai encore une autre exception :

 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!
Était-ce utile?

La solution

Enfin, je peux le faire fonctionner.L'exception est levée sur ces lignes :

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

Et je découvre que les caractères d'espacement sur le chemin de mon dossier ont provoqué l'échec de la construction de ndk.Je ne peux pas croire que ce stupide bug me fasse perdre deux jours.
Maintenant, je viens de déplacer mon projet dans un dossier sans espace et cela a fonctionné à merveille.

Autres conseils

La version bêta de cocos2d-x 3.0 ne fonctionne pour le moment qu'avec Python 2.7.Je suggère de revenir à Python 2.7 au lieu d'essayer de déboguer le script pour Python 3.0.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top