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, hl
và libhl.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!
Cảm ơn, Jeff, cho việc này! – Cambiata