Haxe:获取 `std` 库的路径

问题描述 投票:0回答:1

我需要获取

std
Haxe
文件夹的路径。 在 Linux 系统上它可以是
/usr/share/haxe/std
,在 Windows 上 -
C:\HaxeToolkit\haxe\std\

haxelib config
haxelib path
haxelib libpath
命令,但它们将我指向
/usr/local/lib/haxe/
文件夹。

如何在脚本中获取此路径?

我尝试了这些命令

haxelib config
haxelib path
haxelib libpath
,但它们仅在 Windows 上对我有帮助,因为在 Windows 上
std
lib
文件夹位于同一文件夹中。

haxe haxelib
1个回答
0
投票

Haxe 有一种方法可以做到这一点:

解决Std.hx:

class ResolveStd {
    static macro function getStdPath() {
        var evalDir = haxe.macro.Context.resolvePath("eval");
        var stdDir = haxe.io.Path.directory(evalDir);
        return macro $v{stdDir};
    }
    public static function main() {
        Sys.println(getStdPath());
    }
}

然后

haxe --run ResolveStd.hx

将会有类似的输出

C:\HaxeToolkit\haxe\std

(说明:我们要求编译器解析

eval
的路径,它是
std
中的子目录之一,然后向上一级)

© www.soinside.com 2019 - 2024. All rights reserved.