导入开发haxelib时无法解析符号

时间:2019-01-27 04:54:59

标签: haxe

  • 在haxelib项目文件夹中,我正在运行haxelib dev cc_gfx .
  • 在导入项目文件夹中,haxe build.hxml

我收到错误src/shader/Shader.hx:3: characters 7-19 : Type not found : gfx.Vector2f

build.hxml

-cp src
-lib cc_gfx
-main shader.Shader
-lua out/main.lua

haxelib.json

{
  "name": "cc_gfx",
  "license": "MIT",
  "description": "Bindings to the gfx library for ComputerCraft.",
  "version": "0.0.1",
  "classPath": "src",
  "releasenote": "Initial release.",
  "contributors": ["James King"]
}

Shader.hx

package shader;

import gfx.Vector2f;

class Shader {
    static public function main() {
        var v = new Vector2f(1, 1);
    }
}

Vector.hx

package gfx;

public class Vector2f {
    var x : Float;
    var y : Float;

    Vector2f(x : Float, y : Float) {
        this.x = x;
        this.y = y;
    }
}

1 个答案:

答案 0 :(得分:1)

这实际上与Haxelib中的文件无关。

  

src / shader / Shader.hx:3:8-20个字符:找不到类型:gfx.Vector2f

self试图导入一个不存在的module,它实际上被命名为 ZeroToOne callZeroToOne; // Declaration of variable p1 of type Person ZeroToOne zOne = new ZeroToOne (); // Create an object of the Person class zOne.setSelf (2); // We modify the value System.out.println (zOne.getSelf ()); // Impression of the result (因为文件名是> 2 )。模块名称​​必须与类名称不匹配,但是导入需要调整为import gfx.Vector2f;。或者只是将文件名更改为Vector


在此之后,编译器将报告两个错误,因为Vector.hx中的代码存在一些语法问题:

  

src / gfx / Vector.hx:3:字符1-7:意外的公开

默认情况下,Haxe中的类型为import gfx.Vector;,因此不允许使用Vector2f.hx修饰符。之后:

  

src / gfx / Vector.hx:6:字符5-13:意外的Vector2f

这不是在Haxe中声明构造函数的方式。 Vector应替换为public