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!
Danke, Jeff, dafür! – Cambiata