导入我的开发 haxelib 时无法解析符号
Unable to resolve symbols when importing my development haxelib
- 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;
}
}
这实际上与 Haxelib 中的文件无关。
src/shader/Shader.hx:3: characters 8-20 : Type not found : gfx.Vector2f
import gfx.Vector2f;
试图导入一个不存在的 module,它实际上被命名为 Vector
(因为文件名为 Vector.hx
)。模块名称没有来匹配class名称,但导入需要调整为import gfx.Vector;
。或者只是将文件名更改为 Vector2f.hx
.
修复后,编译器会报两个错误,因为Vector
中的代码有一些语法问题:
src/gfx/Vector.hx:3: characters 1-7 : Unexpected public
Haxe 中的类型默认为 public
,因此不允许使用 public
修饰符。之后:
src/gfx/Vector.hx:6: characters 5-13 : Unexpected Vector2f
这不是您在 Haxe 中声明构造函数的方式。 Vector2f(x:Float, y:Float)
应替换为 public function new(x:Float, y:Float)
。
- 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;
}
}
这实际上与 Haxelib 中的文件无关。
src/shader/Shader.hx:3: characters 8-20 : Type not found : gfx.Vector2f
import gfx.Vector2f;
试图导入一个不存在的 module,它实际上被命名为 Vector
(因为文件名为 Vector.hx
)。模块名称没有来匹配class名称,但导入需要调整为import gfx.Vector;
。或者只是将文件名更改为 Vector2f.hx
.
修复后,编译器会报两个错误,因为Vector
中的代码有一些语法问题:
src/gfx/Vector.hx:3: characters 1-7 : Unexpected public
Haxe 中的类型默认为 public
,因此不允许使用 public
修饰符。之后:
src/gfx/Vector.hx:6: characters 5-13 : Unexpected Vector2f
这不是您在 Haxe 中声明构造函数的方式。 Vector2f(x:Float, y:Float)
应替换为 public function new(x:Float, y:Float)
。