我有一个Haxe应用程序,我想让Windows系统的人可以使用.我使用Hashlink在本地运行应用程序,它运行得非常好.
我想知道我是否应该使用Hashlink分发我的应用程序.它能为我建立一个.exe吗?
Jef*_*ard 12
今天(2017年3月10日),现在看来不支持生成可分发的二进制文件:
> haxe -main Main -hl main.c
Code generated in main.c automatic native compilation not yet implemented
Run Code Online (Sandbox Code Playgroud)
希望很快就会得到支持!
注意:我正在谈论使用hashlink构建最终可执行文件.我没有在这里讨论的完全独立的方法是使用输出hl bitcode提供hashlink虚拟机的可能性.
萨恩人不再在这里读书.
但与此同时...... 如果您从源代码构建hashlink,则可以使用hashlink生成二进制文件.
警告:
这是我在Ubuntu 14.04,64位上必须做的事情:
为构建hl安装必备库(可能还有其他我已经安装过的,比如build-essential等)
sudo apt-get install libvorbis-dev libturbojpeg libsdl2-dev libopenal-dev libssl-dev
Run Code Online (Sandbox Code Playgroud)
克隆和构建mbedtls库:(转注释:b5ba28)
cd ~/dev/
git clone https://github.com/ARMmbed/mbedtls.git
cd mbedtls
make CFLAGS='-fPIC'
Run Code Online (Sandbox Code Playgroud)
克隆hashlink回购:(转注释:eaa92b)
cd ~/dev/
git clone https://github.com/HaxeFoundation/hashlink.git
cd hashlink
Run Code Online (Sandbox Code Playgroud)
在〜第67行的# Linux部分中Makefile,添加以下标志:
CFLAGS += -I ../mbedtls/include
LIBFLAGS += -L../mbedtls/library
Run Code Online (Sandbox Code Playgroud)
现在用 make
如果一切正常,你会看到两个重要的输出文件,hl和libhl.so
好的,此时,如果您只是在hashlink目录中构建项目,这是最简单的.例如:
# Still in the hashlink directory
haxe -cp /path/to/my/project -debug -main Main.hx -hl src/_main.c
Run Code Online (Sandbox Code Playgroud)
现在运行make hlc,如果一切正常,hlc输出可执行文件(依赖于libhl.so):
cp libhl.so hlc /tmp/
cd /tmp/
./hlc
Run Code Online (Sandbox Code Playgroud)
打印:
Main.hx:7: Hello world!
Run Code Online (Sandbox Code Playgroud)