【问题标题】:How do I Distribute my Haxe application with Hashlink?如何使用 Hashlink 分发我的 Haxe 应用程序?
【发布时间】:2017-03-10 15:02:57
【问题描述】:

我有一个 Haxe 应用程序,我想将它提供给使用 Windows 系统的人。我使用 Hashlink 在本地运行应用程序,它运行得非常好。

我想知道我是否应该使用 Hashlink 分发我的应用程序。它可以为我构建一个.exe吗?

【问题讨论】:

    标签: haxe hashlink


    【解决方案1】:

    现在(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 库:(rev note:b5ba28

    cd ~/dev/
    git clone https://github.com/ARMmbed/mbedtls.git
    cd mbedtls
    make CFLAGS='-fPIC'
    

    克隆 hashlink 存储库:(rev note:eaa92b

    cd ~/dev/
    git clone https://github.com/HaxeFoundation/hashlink.git
    cd hashlink
    

    Makefile# Linux 部分,~第 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!
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 2018-08-05
      • 2017-10-07
      相关资源
      最近更新 更多