在我的测试Haxelib上尝试使用命令时,我得到了一个异常:
haxelib run haxelib-testD:\HaxeToolkit\haxe\std/neko/vm/Thread.hx:54:字符20-71 :无法从宏中创建线程
不用穿线,一切正常。
Haxe代码:
import neko.vm.Thread;
class Main {
static function main() {
trace("starting");
var commandsThread = Thread.create(read);
trace("ending");
}
static function read() {
trace("new thread");
}
}我的haxelib.json看起来是这样的:
{
"name": "haxelib-test",
"license": "MIT",
"tags": [],
"description": "",
"version": "0.0.1",
"classPath": "src/",
"main": "Main"
}发布于 2018-05-07 21:49:31
从你链接到的Haxelib博士:
具有
run.n助手或在haxelib.json中定义的主类的库可以使用haxelib run执行。
由于您提供了一个main类,Haxelib试图使用--interp参数在Haxe的内置宏解释器中运行您的代码。
Haxe 3的宏解释器不支持线程处理,因此出现了错误。您可以通过编译run.n文件并将其打包到库中,从而在Neko中执行该脚本:
haxe -main Main -neko run.nHaxe 4 介绍线程支持其新的宏解释器"Eval“ in preview.5发行版。从该版本开始,您可以使用eval.vm.Thread。但是,请注意,这将使您的Haxelib的run命令不适用于运行老版本的Haxe版本的人。所以如果你想获得最大的兼容性,现在就坚持Neko吧。
https://stackoverflow.com/questions/50222376
复制相似问题