haxe - 如何使用 Hashlink 分发我的 Haxe 应用程序?

标签 haxe hashlink

我有一个 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 生成二进制文件。

警告:
  • 这不是对您问题的通用跨平台答案——这只是我在 Linux 上的经验。
  • 可能很快就会有比这更好的方法。
  • 但我想把这些笔记记下来,甚至让我自己以后记忆。

  • 这是我在 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 构建

    如果一切正常,您将看到两个重要的输出文件,hllibhl.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/

    相关文章:

    bash - 在 Haxe 中获取 shell 命令的输出

    node.js - Haxe 中的异步异常处理

    audio - 在 Haxe (NME) 中对节奏游戏的节拍计时最准确的方法是什么?

    html - 我如何将 AS3 转换为 Haxe?

    android - 使用 Lime/OpenFL 编译 android 时出错。无法获取 Java 版本 (Windows 10)

    haxe - 如何使用 Haxe SSL 套接字?