2017-03-10 17 views
7

Tôi đã có Ứng dụng Haxe mà tôi muốn cung cấp cho những người có hệ thống Windows. Tôi sử dụng Hashlink để chạy ứng dụng cục bộ và nó hoạt động rất độc đáo.Làm cách nào để phân phối ứng dụng Haxe của tôi với Hashlink?

Tôi tự hỏi mình có nên phân phối Ứng dụng của mình bằng Hashlink hay không. Nó có thể xây dựng cho tôi một .exe?

Trả lời

11

Dường như tạo tập tin nhị phân chia không được hỗ trợ ra khỏi hộp ngày hôm nay (ngày 10 tháng 3 2017):

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

Hy vọng rằng nó sẽ được hỗ trợ sớm!

Lưu ý: Tôi đang nói về việc xây dựng tệp thực thi cuối cùng bằng cách sử dụng liên kết băm. Một cách tiếp cận hoàn toàn riêng biệt mà tôi không đề cập ở đây là khả năng cung cấp máy ảo hashlink với bitcode hl đầu ra của bạn.

Người đã dừng đọc ở đây.

Nhưng trong khi chờ đợi ... nó là thể để tạo ra mã nhị phân với hashlink ngày hôm nay nếu bạn xây dựng hashlink từ nguồn.

Cảnh báo:

  • Đây không phải là chung chung, cross-platform câu trả lời cho câu hỏi của bạn - nó chỉ là kinh nghiệm của tôi trên Linux.
  • Có thể sẽ sớm có cách tốt hơn.
  • Nhưng tôi muốn ghi lại những ghi chú này ngay cả khi tôi nhớ lại sau.

Đây là những gì tôi phải làm trên Ubuntu 14.04, 64-bit:

Cài đặt thư viện điều kiện tiên quyết để xây dựng hl (có thể có những người khác tôi đã có cài đặt, như build-essential, vv)

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

Clone và xây dựng mbedtls thư viện: (rev lưu ý: b5ba28)

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

Clone các hashlink lại po: (rev lưu ý: eaa92b)

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

Trong phần # Linux của Makefile, ~ dòng 67, thêm những lá cờ:

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

Bây giờ xây dựng với make

Nếu mọi thứ hoạt động, bạn sẽ thấy hai tệp đầu ra quan trọng, hllibhl.so

Ok, tại t quan điểm của mình, dễ nhất là nếu bạn chỉ xây dựng dự án của mình trong thư mục hashlink.Ví dụ:

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

Bây giờ chạy make hlc, và nếu mọi thứ hoạt động, hlc là thực thi đầu ra (mà phụ thuộc vào libhl.so):

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

Prints:

Main.hx:7: Hello world! 
+0

Cảm ơn, Jeff, cho việc này! – Cambiata

Các vấn đề liên quan