【问题标题】:Haxe can't find std librariesHaxe 找不到标准库
【发布时间】:2015-01-05 18:12:01
【问题描述】:

我正在尝试使用 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");
    }
}

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

【问题讨论】:

    标签: linux intellij-idea haxe haxelib


    【解决方案1】:

    手动进入 /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
    

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

    【讨论】:

    • 没有安装任何东西,二进制文件被下载并解压缩解压缩,只是告诉 IntelliJ Haxe SDK 在哪里......
    • 您可能需要查找安装指南,或使用此处的安装脚本openfl.org/documentation/setup/install-haxe
    • 现在我在尝试导出到 javascript 时收到以下错误 运行 Helloworld 时出错:目标 JavaScript 错误!您只能运行 Neko、Flash 或 JavaScript。当我使用 openfl 时,它说我需要安装石灰...如何安装石灰?Haxe 到 neko 可以完美运行
    • 你是怎么编译的?在同一个链接上,他们有一个石灰指南。或者,Haxelib 是一个像 apt-get 一样运行的程序。运行“haxelib 安装石灰”
    • 是的,是的,我展示并安装了它。 OpenFl 和 neko 工作得很好...我无法定位 javascript...
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-21
      • 2015-11-24
      • 2017-05-30
      • 1970-01-01
      • 2016-01-11
      • 2012-02-12
      • 2022-01-16
      相关资源
      最近更新 更多