【问题标题】:How can I force Haxe to compile all source classes?如何强制 Haxe 编译所有源类?
【发布时间】:2023-03-16 08:20:01
【问题描述】:

我在构建 Haxe 项目时发现,只有从 Main 引用的代码或由 Main 中间接/直接引用的类引用的代码才会被编译。如何强制 Haxe 将所有源 .HX 文件编译成目标语言?我尝试过使用 DCE 标志(no、std 和 full),但它们似乎都没有什么不同。为 Haxe 版本开发 3.1.3。

更新:所以使用下面答案中描述的宏,我的解决方案是为我正在构建的库创建一个根级包,然后将该包名称包含在宏编译器选项中以包含以及所有子包,从而确保 Haxe 编译所有类,无论是直接引用还是通过 main 间接引用。

例如,如果您的根级包名称是 rootPackage,则添加一个额外的编译器选项,如下所示:

--macro include('rootPackage', true)

【问题讨论】:

    标签: haxe


    【解决方案1】:

    我猜你使用的是 haxe 3.1.3 而不是 3.03,我们没有这样的版本。

    在您的 hxml 中添加 --macro include(...)

    文档: http://api.haxe.org/haxe/macro/Compiler.html#include

    请记住使用单引号 ('string') 而不是双引号 ("string") 作为参数。

    【讨论】:

    • 感谢您的回复,您是对的,它是 3.1.3。这就是我在凌晨 2 点发布的结果:) 查看您发布的 api 链接,似乎它需要一个字符串或一组包名称字符串。使用将递归标志设置为 true 的单个根包名称可以实现包含所有子包及其 hx 源文件的目标吗?我会在今天早上晚些时候测试这个理论并回复。
    猜你喜欢
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-19
    相关资源
    最近更新 更多