Haxe找不到std库

时间:2014-11-09 09:37:08

标签: linux intellij-idea haxe haxelib

我正在尝试使用IntelliJ和我的Linux机器设置Haxe。我从haxe(haxe 3.1.3)站点和社区版intellij下载了Linux 64bit二进制文件。我在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项目让我选择Haxe 3.1.3(意味着工具包自识别之后就已正确设置)。 intellij项目中的外部库包括带有std的Haxe目录(当扩展文件夹以查看它包含的内容时)。

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

当我使用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");
    }
}

我真的想进入它,但无法开始...

2 个答案:

答案 0 :(得分:2)

手动进入/ usr / lib并查找libneko.so。有时候安装可能会抛出一个或者说是libneko.so.1。

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

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

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

我得到的全部。希望它适合你。

答案 1 :(得分:0)

基于@johnink anwser,这在linux命令行模式下适用于我:

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

/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