我有一个Haxe应用程序,我想让Windows系统的用户可以使用它。我使用Hashlink在本地运行应用程序,它运行得非常好。
我想知道我是否应该使用Hashlink分发我的应用程序。它能为我建立一个.exe吗?
答案 0 :(得分:12)
今天(2017年3月10日),现在看来不支持生成可分发的二进制文件:
> haxe -main Main -hl main.c
Code generated in main.c automatic native compilation not yet implemented
希望很快就会得到支持!
注意: 我正在讨论使用hashlink构建最终可执行文件。我在这里没有介绍的完全独立的方法是使用输出hl bitcode提供hashlink虚拟机的可能性。
Sane人在这里停止阅读。
但与此同时......如果您从源代码构建hashlink,那么今天使用hashlink生成二进制文件是可能的。
<强>警告:强>
这是我在Ubuntu 14.04,64位上必须做的事情:
安装用于构建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 :(转录注:eaa92b
)
cd ~/dev/
git clone https://github.com/HaxeFoundation/hashlink.git
cd hashlink
在# Linux
,〜第67行的Makefile
部分,添加以下标记:
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!