2017-03-10 14 views

Odpowiedz

11

Wygląda generowania podziałowi pliki binarne nie są obsługiwane po wyjęciu z pudełka dzisiaj (10 marca 2017):

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

Mam nadzieję, że będzie ona obsługiwana wkrótce!

Uwaga: mówię o budowie ostatecznej wykonywalny korzystając hashlink. Odrębnym podejściem, którego tutaj nie omówię, jest możliwość dostarczenia maszyny wirtualnej hashlink z wyjściowym kodem hl.

Zdrowi ludzie przestają tu czytać.

Ale w międzyczasie ... to możliwe do generowania plików binarnych z hashlink dzisiaj jeśli budować hashlink od źródła.

Ostrzeżenia:

  • To nie jest ogólnym, wieloplatformowy odpowiedź na pytanie - to tylko moje doświadczenia na Linux.
  • Prawdopodobnie wkrótce będzie lepsza droga niż to.
  • Ale ja chciałem zanotować te notatki nawet dla siebie, aby później je przywołać.

Oto, co musiałem zrobić na Ubuntu 14.04, 64-bitowym:

Instalacja bibliotek Warunkiem hl budowaniu (może być inni już zainstalowanych, jak build-essential, etc)

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

Clone i zbudować bibliotekę mbedtls (rev uWAGA: b5ba28)

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

sklonować hashlink re PO: (rev uwaga: eaa92b)

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

W sekcji # Linux z Makefile, ~ linia 67, dodać te flagi:

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

teraz budować z make

Jeśli wszystko działa, zobaczysz dwa ważne pliki wyjściowe: hl i libhl.so

OK, w t jego punkt, jest najłatwiejszy, jeśli po prostu zbudujesz swój projekt w katalogu hashlink.Na przykład:

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

Teraz uruchom make hlc i czy wszystko działa, hlc jest wykonywalny wyjścia (który zależy libhl.so):

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

Wydruki:

Main.hx:7: Hello world! 
+0

Dzięki Jeff, dla tego! – Cambiata

Powiązane problemy