2016-09-02 2 views
0

Ich wollte die JXcore-Bibliotheken für Android zu bauen, und ich habe einen Fehler festgestellt.Kann nicht jxcore für Android

Ich habe alle Voraussetzungen erfüllt: Ich bin auf Ubuntu 16.04, mit gcc 5.4.0, Python 2.7.12, GNU Make 4.1.

Dies sind die Schritte i gefolgt sind:

  1. I Android NDK heruntergeladen haben, und extrahiert es in ~/Downloads/android-ndk-r12b
  2. die jxcore Bibliothek
  3. cd in jxcore
  4. lief build_scripts/android-configure.sh ../android-ndk-r12b/ in ~/Downloads/jxcore geklont, Dieses Skript wurde erfolgreich
  5. Dann musste ich build_scripts/android_compile.sh ../android-ndk-r12b/ --embed-leveldown
  6. ausführen

und ich traf einen Fehler im letzten Schritt, dann ist dies das Protokoll:

Compiling Android ARM7 

Traceback (most recent call last): 
    File "./configure", line 1119, in <module> 
    configure_node(output) 
    File "./configure", line 645, in configure_node 
    configure_arm(o) 
    File "./configure", line 569, in configure_arm 
    elif is_arm_hard_float_abi(): 
    File "./configure", line 491, in is_arm_hard_float_abi 
    if compiler_version() >= (4, 6, 0): 
    File "./configure", line 560, in compiler_version 
    version = tuple(map(int, proc.communicate()[0].split('.'))) 
ValueError: invalid literal for int() with base 10: 'x\n' 
compilation aborted for arm target 

Weiß jemand, was dies verursacht, oder eine Lösung für sie?

Antwort

0

Ich lief auf das gleiche Problem. Ich machte eine schnelle und dreckige Reparatur, nur um loszulegen.

Öffnen Sie die Datei "configure" in Ihrem jxcore-Ordner. Gehen Sie wie im letzten Eintrag in Ihrem Protokoll zu Zeile 560. Kommentieren Sie die Zeile 560 mit dem # davor. eine geänderte Version der Zeile darunter ein, wie unten dargestellt:

Linie 560: #version = tuple(map(int, proc.communicate()[0].split('.')))

Linie 561: version = tuple(map(int, "4.9.0".split('.')))

... im Grunde, was passiert ist, dass Ihre Version von CC so etwas wie „4.9 geht .x "und da Python das" x "nicht in eine ganze Zahl konvertieren kann, wird der Prozess gestoppt. Ich habe gerade das "x" durch eine "0" ersetzt. Allerdings möchten Sie vielleicht Ihre Version überprüfen, nur um sicher zu gehen. Platzieren Sie daher print proc.communicate()[0] direkt vor der Linie 560, bevor Sie die anderen Änderungen vornehmen. Dann wird Ihre aktuelle Versionsnummer in Ihrem Protokoll ausgedruckt, wenn Sie das Programm erneut ausführen.

Ich hoffe, dass Ihnen das helfen kann.

Verwandte Themen