Невозможно разрешить символы при импорте моей разработки haxelib - PullRequest
0 голосов
/ 27 января 2019
  • В папке проекта 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 голосов
/ 27 января 2019

Это на самом деле не относится к файлам, находящимся в Haxelib.

src / shader / Shader.hx: 3: символы 8-20: тип не найден: gfx.Vector2f

import gfx.Vector2f; пытается импортировать модуль , который не существует, на самом деле он называется Vector (так как имя файла Vector.hx). Имя модуля не имеет , совпадающее с именем класса, но затем необходимо настроить импорт на import gfx.Vector;. Или просто измените имя файла на Vector2f.hx.


После исправления компилятор сообщит еще о двух ошибках, так как код в Vector имеет некоторые синтаксические проблемы:

src / gfx / Vector.hx: 3: символы 1-7: неожиданная публика

Типы в Haxe по умолчанию public, поэтому модификатор public не допускается. После этого:

src / gfx / Vector.hx: 6: символы 5-13: неожиданный вектор2f

Это не то, как вы объявляете конструктор в Haxe. Vector2f(x:Float, y:Float) следует заменить на public function new(x:Float, y:Float).

...