我刚开始学习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)
为什么呢?班级helloworld.Main
肯定存在。我甚至不能说“你好,世界”?
答案 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
。如果这对您不起作用,请发布项目的确切文件结构(哪些文件夹和哪些目录),以及用于构建项目的命令和输出。
希望有所帮助,