尝试研究如何通过HaxeDevelop在不同语言上创建“Hello world”。我是新手,可能在术语上不知情。
1) C#项目。按F8给我错误:
haxe -cp src -cs D:/ Programs / Projects / CsTestHaxe / bin / -main Main
Unix.Unix_error(8,“mkdir”,“D:/ Programs / Projects / CsTestHaxe / bin /”)
构建因错误而停止(haxe.exe)。
通过谷歌搜索相当过时的信息至少找到解决方案:
haxe -main Main -cs out
它有效,但输出到“src”位置是坏的。接下来的谷歌搜索引导我进行“自定义构建”并在项目设置中使用.hxml和pre-build命令
但是为什么默认模板/设置不能用于 “Hello world” (使用cs.system.Console)这样简单的事情?
如何修复默认构建/可能是通过HaxeDevelop安装我安装或设置错误?
2) C ++项目。按F8给我错误:
警告:找不到Visual Studio的环境变量
缺少HXCPP_VARS
错误:无法自动设置MSVC
错误:构建失败
构建因错误而停止(haxe.exe)。
使用命令行(类似于上面的C#)我可以执行C ++源代码,但无法编译它 已安装 Visual Studio Community 2017 。什么都没有改变,同样的错误。 VS提供不同的安装部件。我应该安装任何具体的吗? 还发现了许多关于 OpenFL C ++编译的解决方法的主题。但我不需要OpenFL,并且想要使用默认的Haxe API和工具 此外,OpenFL和C ++总是提到 Lime 。我也需要它吗?通过命令行安装Lime。但似乎没有任何改变。
3)我是否正确HaxeDevelop尚未支持 HashLink ?
如果有可能的话,如果 Neko 与Haxe有关联,那么就会出现 HashLink 的原因?
结果这里有一个额外的问题:Haxe在编译到目标平台时是否只是“转换”.hx源到目标一个然后使用第三方(目标平台)编译?
答案 0 :(得分:2)
1)C#项目。按F8给我错误。
这似乎是a known Haxe issue。由于它是been fixed on the dev branch,您可以尝试从build.haxe.org进行夜间构建。或者,您也可以尝试手动创建bin
目录,因为这似乎是错误的原因。
2)C ++项目。按F8给我错误:
hxcpp(3.4.64)的最新Haxelib版本尚不支持Visual Studio 2017。您可以通过从GitHub安装hxcpp来使用开发版本,因为它再次should be fixed there:
haxelib git hxcpp https://github.com/HaxeFoundation/hxcpp
另一种方法是降级Visual Studio。
Open Lime和C ++总是提到Lime。我也需要吗?
是的,如果你想使用OpenFL,你也需要Lime,因为OpenFL依赖它。
3)我是否认为HaxeDevelop还不支持HashLink?
实际上是一个HashLink项目模板was added。但是,为了遵循这个答案的一般主题,它似乎还没有成为一个官方的关系。您可以从here获得每晚构建。
如果Neko与Haxe有关系,可能会有关于HashLink出现原因的几个词吗?
HashLink的作者在haxe.org上有一个由两部分组成的博客系列:part 1,part 2。第一部分有一个段落谈论这个确切的主题。这是一段摘录:
首先,让我解释一下编写另一个虚拟机以取代Neko的原因。
[...]
当时,Neko虚拟机并没有专门设计用于运行Haxe并受到一些限制,主要是性能。
[...]
关于你的最后一个问题:
是不是Haxe在编译到目标平台时只将“.hx源”转换为目标,然后使用第三方(目标平台)编译?
某些目标确实如此,但这取决于。对于C ++,C#和Java,Haxe indeeds为目标语言生成源代码,然后在执行自己的编译后调用目标本机编译器(此步骤通常称为“本机编译”)。
但是,有些目标直接生成字节码(SWF和Neko),因此没有本地编译步骤。其他目标语言是interpreted(JS,PHP,Python和Lua),因此也没有本地编译步骤。对HL而言,它实际上取决于HL / Jit(字节代码)和HL / C,它被编译为本机C代码。
您可以找到一个全面的Haxe目标列表及其特征here。
Phew,这是一个很多问题。 ;)