找不到类:helloworld.Main

时间:2014-06-27 07:22:46

标签: haxe

我刚开始学习Haxe,但我遇到了编译错误。

Main.hx

package helloworld;

import js.Lib;

class Main {

    static function main() {
        Lib.alert("Hello World");
    }

}

请注意目标类是helloworld.Main

build.hxml

-js bin/HelloWorld.js
-cp src
-main helloworld.Main
-debug

构建流程日志

Building HelloWorld_p140627
Running Pre-Build Command Line...
cmd: C:\HaxeToolkit\haxe\haxe.exe X:\tmp\HelloWorld_p140627\build.hxml
Class not found : helloworld.Main
Build halted with errors.
Done(1)

enter image description here

为什么呢?班级helloworld.Main肯定存在。我甚至不能说“你好,世界”?

1 个答案:

答案 0 :(得分:5)

现在更新我可以看到您项目的屏幕截图:

你正在尝试编译" helloworld.Main",这意味着一个名为" Main"在包装" helloworld"中,所以Haxe将寻找一个名为" helloworld / Main.hx"的文件。在你的" src /" 。目录

但是你有" src / Main.hx",而不是" src / helloworld / Main.hx"。创建一个名为" helloworld"的子文件夹,移动" Main.hx"在那里,你会没事的。您在Haxe中使用的包必须与目录结构匹配。


确保您的包与您的文件夹对齐,并确保您的文件名与您的班级名称一致。所有这些都应该在你的一个" -cp"类路径文件夹。

对于上面的示例,代码看起来很好,我希望您的布局看起来像:

build.hxml                  <-- build file
src/helloworld/Main.hx      <-- classpath/package/class.Hx
bin/                        <-- output folder
bin/HelloWorld.js           <-- will be created once it compiles

然后你运行haxe build.hxml。如果这对您不起作用,请发布项目的确切文件结构(哪些文件夹和哪些目录),以及用于构建项目的命令和输出。

希望有所帮助,