Haxe 找不到标准库



我正在尝试用IntelliJ和我的Linux盒子安装Haxe。我从haxe(haxe3.1.3)站点和社区版intellij下载了Linux 64位二进制文件。我在intellij中安装了Haxe插件,然后创建了一个新的Haxe模块。对于sdk,我选择了我从haxe网站下载的haxe文件夹。我创建了一个新的配置来编译和运行,但它给了我一个错误,它找不到标准库。为什么会发生这种事?

Haxe目录树

haxe-3.1.3
├── extra
└── std
    ├── cpp
    ├── cs
    ├── flash
    ├── flash8
    ├── haxe
    ├── java
    ├── js
    ├── neko
    ├── php
    ├── sys
    └── tools

haxe-3.1.3是我在intellij中为haxe工具箱选择的目录。创建一个新的Haxe项目可以让我选择Haxe3.1.3(这意味着工具包自被认可以来已经正确设置)。intellij项目中的外部库包括带有std的Haxe-dir(当展开文件夹以查看其中包含的内容时)。

在SDK的"项目结构"对话框中,我看到库设置正确(haxe-3.1.3/std),haxe可执行文件也正确(haxe-3.1.3/haxelib)。Classpath包含库目录

当我使用openFl和flash作为目标编译它时,我得到了以下错误

Error:compilation failed
/home/avlahop/development/Haxe/haxe-3.1.3/haxelib
Error:libneko.so: cannot open shared object file: No such file or directory

当我切换到Haxe编译器和Neko或Javascript时,我会得到以下

Information:Compilation completed with 1 error and 1 warning in 0 sec
Information:1 error
Information:1 warning
Error:compilation failed
Warning:Standard library not found

我的班级

package ;
class Test3 {
    public function new() {
    }
    public static function main(): Void{
        trace("Hello from haxe and IntelliJ IDEA");
    }
}

我真的很想参与其中,但无法开始。。。

手动进入/usr/lib并查找libneko.so。有时安装可能会在最后抛出一个或类似libneko.seo.1的东西。

正确重命名文件。你可能必须使用neko的新版本,我必须从git编译才能使其工作:https://github.com/HaxeFoundation/neko

如果您没有注意到任何异常,请确保您的环境变量是正确的。在您选择的的文本编辑器中打开/etc/环境

export HAXE_STD_PATH=/usr/local/haxe/std:. # path to std + :.
export HAXE_HOME=/usr/whatever/haxe        # path to haxe
export NEKOPATH=/usr/local/neko            # path to neko

请注意,如果您使用的是HAXE_LIBRARY_PATH,则在稍后版本的HAXE中已将其更改为HAXE_STD_PATH。你还需要这个文件的参考,用sudo打开你的/etc/profile并检查:

. /etc/environment

这就是我的全部。希望它对你有用。

基于@johnink-anwser,这对我来说是在linux命令行模式下工作的:

我从下载了linux二进制文件https://haxe.org/download/并在某些路径上解压缩,如

/some/folder/haxe-tool

我把这几行添加到我的~/bashrc 中

export HAXE_STD_PATH="/some/folder/haxe-tool/std"
export HAXE_HOME="/some/folder/haxe-tool"
export PATH=$PATH":"$HAXE_HOME

并用这个cmd:进行了测试

haxe -main HelloWorld --interp

此外,我用这个cmd 转换为javascript

haxe -js HelloWorld.js -main HelloWorld

使用此文件:

class Main {
  static public function main():Void {
    trace("Hello World");
  }
}

以"Hello World"为例:

https://code.haxe.org/category/beginner/hello-world.html

相关内容

  • 没有找到相关文章

最新更新