我需要将一些cpp文件包含到我的haxe项目中,但是我不知道如何告诉编译器目录在哪里。我不想使用绝对路径。如何将目录包含在cpp文件中?
@:include("LinearMath/btScalar.h")
@:native("::btTypedObject")
@:structAccess
@:unreflective编辑:好的,我现在知道了。
如果您想使用自己的.hxcpp_config.xml,请在控制台中键入:
haxelib运行hxcpp
将在用户目录中创建一个.hxcpp_config.xml (现在讨论win 7)。
<!-- Compiling on windows ... -->
<compiler id="MSVC" if="windows">
<!-- Example adding a build flag -->
<flag value = "-IC:/path/>
</compiler>不同的方式... http://www.wighawag.com/blog/2014/12/Hxcpp-extern
发布于 2015-06-23 06:50:23
Haxe不会让你的.hx文件和c++代码混在一起,要使用原生代码,你需要使用C外部函数接口。Here是指向文档的链接。其思想是首先编写c++代码,编写接口以公开代码中的方法,编译ndll,然后使用cpp.Lib.load('dllNameWithoutTheDotdll','method_signature',numberOfArguments);将方法加载到haxe中。
不幸的是,没有很多纯粹的CFFI示例,但您可能想要查看OpenFL Native Extensions。它们基本上是包含一组接口(包括CFFI)的代码模板,用于访问非haxe
希望这对你有帮助,祝你好运!
发布于 2015-06-23 08:21:12
谢谢,但我知道CFFI和如何编译ndll。我认为@:include宏是非常新的。甚至还有一个@:cppFileCode和@:functionCode宏用来直接插入.hx文件中的头代码和cpp代码。我对它进行了测试,并且能够从.hx文件中调用SetCursorPos Windows API函数。
这真是很酷的东西。现在我被卡住了,因为我不知道如何添加包含编译器标志来构建进程,例如-Ic:mycoolstuff/path。
https://stackoverflow.com/questions/30984136
复制相似问题