首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Haxe找不到std库

Haxe找不到std库
EN

Stack Overflow用户
提问于 2014-11-09 17:37:08
回答 2查看 5.1K关注 0票数 4

我正在尝试用IntelliJ和我的Linux box来设置Haxe。我从haxe(haxe 3.1.3)站点和社区版intellij下载了Linux 64位二进制文件。我在intellij中安装了Haxe插件,然后创建了一个新的Haxe模块。对于sdk,我选择了我没有从haxe站点加载的haxe文件夹。我创建了一个新的配置来编译和运行,但它给我一个错误,它无法定位标准库。为什么会这样呢?

Haxe目录树

代码语言:javascript
复制
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项目中的External Libraries包含带有std的Haxe dir (当展开文件夹以查看其中包含的内容时)。

在SDK的"Project structure“对话框中,我看到库设置正确( haxe -3.1.3/std),并且haxe可执行文件也设置正确(haxe-3.1.3/haxelib)。类路径包含库目录

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

代码语言:javascript
复制
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时,我得到以下结果

代码语言: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

我的班级

代码语言:javascript
复制
package ;
class Test3 {
    public function new() {
    }

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

我真的很想参与其中但又不能开始...

EN

回答 2

Stack Overflow用户

发布于 2014-11-09 22:31:07

手动进入/usr/lib并查找libneko.so。有时安装可能会在最后抛出一个1或一些东西,也就是libneko.so.1。

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

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

代码语言:javascript
复制
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并检查:

代码语言:javascript
复制
. /etc/environment

我就知道这么多。希望这对你有好处。

票数 2
EN

Stack Overflow用户

发布于 2018-06-10 13:26:29

基于@johnink anwser,我在linux命令行模式下工作:

我从https://haxe.org/download/下载了Linux二进制文件,并在下面的路径中解压缩

代码语言:javascript
复制
/some/folder/haxe-tool

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

代码语言:javascript
复制
export HAXE_STD_PATH="/some/folder/haxe-tool/std"
export HAXE_HOME="/some/folder/haxe-tool"
export PATH=$PATH":"$HAXE_HOME

并使用此命令进行了测试:

代码语言:javascript
复制
haxe -main HelloWorld --interp

我也用这个命令转换成了javascript

代码语言:javascript
复制
haxe -js HelloWorld.js -main HelloWorld

使用此文件:

代码语言:javascript
复制
class Main {
  static public function main():Void {
    trace("Hello World");
  }
}

以"Hello World“为例:

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26826885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档