2017-03-10 2 views
7

Ich habe eine Haxe-Anwendung, die ich Leuten mit einem Windows-System zur Verfügung stellen möchte. Ich benutze Hashlink, um die Anwendung lokal auszuführen und es funktioniert sehr gut.Wie verteile ich meine Haxe-Anwendung mit Hashlink?

Ich frage mich, ob ich meine Anwendung mit Hashlink verteilen soll. Kann es mir eine .exe bauen?

Antwort

11

Es ist wie Erzeugung ausschüttbaren Binärdateien sieht nicht aus der Box heute (10. März 2017) unterstützt:

> haxe -main Main -hl main.c 
Code generated in main.c automatic native compilation not yet implemented 

Hoffentlich wird es bald unterstützt werden!

Hinweis: Ich spreche über das Erstellen einer endgültigen ausführbaren Datei mit Hashlink. Ein völlig separater Ansatz, den ich hier nicht behandle, ist die Möglichkeit, die virtuelle Hash-Maschine mit Ihrem HL-Ausgangscode zu liefern.

Sane Leute aufhören hier zu lesen.

Aber in der Zwischenzeit ... es ist möglich Binärdateien mit hashlink heute zu generieren, wenn Sie hashlink von der Quelle bauen.

Warnungen:

  • Dies ist keine generische, plattformübergreifende Antwort auf Ihre Frage - es ist nur meine Erfahrung auf Linux.
  • Es wird wahrscheinlich bald einen besseren Weg als diesen geben.
  • Aber ich wollte diese Notizen notieren, auch um mich später zu erinnern.

Hier ist, was ich auf Ubuntu 14.04, 64-bit zu tun hatte:

Installieren der erforderlichen Bibliotheken für den Aufbau hl (es kann sein, andere, die ich bereits installiert haben, wie build-essential, usw.)

sudo apt-get install libvorbis-dev libturbojpeg libsdl2-dev libopenal-dev libssl-dev 

Clone und bauen die mbedtls Bibliothek: (rev note: b5ba28)

cd ~/dev/ 
git clone https://github.com/ARMmbed/mbedtls.git 
cd mbedtls 
make CFLAGS='-fPIC' 

Clone der hashlink re po: (rev note: eaa92b)

cd ~/dev/ 
git clone https://github.com/HaxeFoundation/hashlink.git 
cd hashlink 

Im # Linux Abschnitt der Makefile, ~ Linie 67, fügen Sie diesen Flags:

CFLAGS += -I ../mbedtls/include 
LIBFLAGS += -L../mbedtls/library 

Jetzt mit make

bauen Wenn alles funktioniert, Sie sehen zwei wichtige Ausgabedateien: hl und libhl.so

Ok, bei t Das ist am einfachsten, wenn Sie Ihr Projekt einfach im Hash-Link-Verzeichnis erstellen.Zum Beispiel:

# Still in the hashlink directory 
haxe -cp /path/to/my/project -debug -main Main.hx -hl src/_main.c 

Jetzt make hlc laufen, und wenn alles funktioniert, hlc ist die Ausgabe ausführbare Datei (die auf libhl.so abhängt):

cp libhl.so hlc /tmp/ 
cd /tmp/ 
./hlc 

Drucke:

Main.hx:7: Hello world! 
+0

Danke, Jeff, dafür! – Cambiata

Verwandte Themen