2016-04-29 12 views
5

Guten Abend.Cocos2d-x Fehler beim Kompilieren von LOCAL_SRC_FILES zeigt auf eine fehlende Datei (und Ordner) Windows

Ich stecke fest, eine HelloWorld mit dem cocos2d-x zu kompilieren. habe ich die folgenden Befehle:

  • cocos compile -p android --android-studio
  • cocos compile -p android --android-studio
  • cocos compile -p android

Und ich hatte immer die gleiche Antwort

Android NDK: ERROR:C:\Users\santi_000\Desktop\Android\cocos2d\HelloWorld\proj.android\../cocos2d/external/freetype2/prebuilt/android/Android.mk:cocos_freetype2_static: LOCAL_SRC_FILES points to the missing file 
Android NDK: Check que C:/Users/santi_000/Desktop/Android/cocos2d/HelloWorld/proj.android/../cocos2d/external/freetype2/prebuilt/android/arm64-v8a/libfreetype.a exists or que its path is correct 
make: Entering directory `C: /Users/santi_000/Desktop/Android/cocos2d/HelloWorld/proj.android ' 
C:/Users/santi_000/AppData/Local/Android/sdk/ndk-bundle/build //../ build/core/prebuilt-library.mk: 45: *** Android NDK: Aborting. Stop. 
make: Leaving directory `C: /Users/santi_000/Desktop/Android/cocos2d/HelloWorld/proj.android ' 
Error running command, return code: 2. 

ich jedoch einige Seiten hier in Stackoverflow gefunden keiner von ihnen hat mir geholfen. Ich benutze Windows. Mir wurde klar, dass ich nicht einmal den Arm64-V8A-Ordner habe. Was soll ich tun? Wo kann ich es kopieren, oder wie kann ich es erzeugen?

Vielen Dank.

Antwort

10

Die folgenden für mich gearbeitet

cocos compile --android-studio --target android-22 
    --ap android-22 --ndk-mode debug --ndk-toolchain arm-linux-androideabi-4.9 
    --platform android --app-abi armeabi --src C:\cocos2d-x\tests\cpp-tests 

Sie müssen die --ndk-toolchain auf die richtige ersetzen, die mit dem NDK Installation kommt. Checken Sie den Ordner toolchains in NDK_ROOT ein.

Die wichtigste, die es tatsächlich funktioniert hat, war --app-abi armeabi als das war was die Toolchain verwendet wurde.

[Bearbeiten] Wenn Sie tatsächlich cocos compile -h überprüfen, werden Sie sehen, --app-abi erwähnt armeabi als Standard. Aber das ist nicht der Fall. Es nimmt arm64 als Standard auf.

+0

Ändern Sie auch die Gradle-Version in "cocos2d-x \ tests \ cpp-tests \ proj.android-studio \ gradle \ wrapper \ gradle-wrapper.properties" auf 2.10 statt 2.4 arbeitete in Android Studio. – Anand

+1

'--app-abi armeabi' arbeitete für mich. Es gibt ein "armeabi" -Verzeichnis innerhalb von "cocos2d/external/freetype2/prebuilt/android", aber kein "arm64" -Verzeichnis. – dwks

+0

Vielen Dank. Sie. Ich habe es stundenlang versucht. Bei der Abstimmung angemeldet. –

1

Zunächst einmal beginnen die Befehle zum Kompilieren des Android-Projekts mit cocos nicht coconuts.

cocos kompilieren -p android --android-Studio

oder

cocos -p android

Nun, für die oben genannten Fehler, wie es scheint, kompilieren Sie haben NDK_HOME Pfad in Umgebungsvariable nicht festgelegt. Sie können es manuell einstellen oder lesen Ihre cocos2d-x Bibliotheksordner von Terminal und führen

./setup.py 

Es wird den Rest erledigen.

+0

Er hatte den NDK_HOME eingestellt, es verwendet das ndk-Bundle-Verzeichnis von Android Studio (wie Sie im Pfad sehen können). Ich habe die gleichen Fehler in OSX kennengelernt. Scheint, dass cocos2d-x nicht vollständig kompatibel mit dem neuesten NDK ist (auch ein manueller Download von http://developer.android.com/ndk/downloads/index.html funktionierte nicht). Ich habe es gesehen, weil das Build-Tool nach RELEASE.TXT gesucht hat, das in beiden Fällen fehlte. – mars3142