我有一个 Haxe 应用程序,我想将它提供给使用 Windows 系统的人。我使用 Hashlink 在本地运行应用程序,它运行得非常好。
我想知道我是否应该使用 Hashlink 分发我的应用程序。它可以为我构建一个.exe吗?
最佳答案
看起来今天(2017 年 3 月 10 日)不支持开箱即用地生成可分发的二进制文件:
> haxe -main Main -hl main.c
Code generated in main.c automatic native compilation not yet implemented
希望能尽快得到支持!
注:我说的是使用 hashlink 构建最终的可执行文件。我没有在这里介绍的一个完全独立的方法是提供带有输出 hl 位码的 hashlink 虚拟机的可能性。
理智的人在这里停止阅读。
但与此同时……如果您从源代码构建 hashlink,那么今天就可以使用 hashlink 生成二进制文件。
警告:
这是我在 64 位 Ubuntu 14.04 上必须做的事情:
安装构建 hl 的必备库(我可能已经安装了其他库,例如 build-essential 等)
sudo apt-get install libvorbis-dev libturbojpeg libsdl2-dev libopenal-dev libssl-dev
克隆并构建 mbedtls 库:(修订说明:
b5ba28
)cd ~/dev/
git clone https://github.com/ARMmbed/mbedtls.git
cd mbedtls
make CFLAGS='-fPIC'
克隆 hashlink repo: (rev note:
eaa92b
)cd ~/dev/
git clone https://github.com/HaxeFoundation/hashlink.git
cd hashlink
在
# Linux
Makefile
的部分,~第 67 行,添加这些标志:CFLAGS += -I ../mbedtls/include
LIBFLAGS += -L../mbedtls/library
现在使用
make
构建如果一切正常,您将看到两个重要的输出文件,
hl
和 libhl.so
好的,在这一点上,如果你只是在 hashlink 目录中构建你的项目是最简单的。例如:
# Still in the hashlink directory
haxe -cp /path/to/my/project -debug -main Main.hx -hl src/_main.c
现在运行
make hlc
,如果一切正常,hlc
是输出可执行文件(取决于 libhl.so
):cp libhl.so hlc /tmp/
cd /tmp/
./hlc
打印:
Main.hx:7: Hello world!
关于haxe - 如何使用 Hashlink 分发我的 Haxe 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42721484/