5

我正在尝试使用 IntelliJ 和我的 Linux 机器设置 Haxe。我从 haxe(haxe 3.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 项目让我选择 Haxe 3.1.3(这意味着该工具包自识别以来已正确设置)。intellij 项目中的外部库包括带有 std 的 Haxe 目录(展开文件夹以查看其包含的内容时)。

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

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

真的很想入手,却无法入手……

4

2 回答 2

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

这就是我得到的。希望它对你有帮助。

于 2014-11-09T14:31:07.253 回答
1

基于@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

于 2018-06-10T05:26:28.550 回答