在Haxe构建过程中包含cpp文件目录

时间:2015-06-22 15:36:32

标签: build directory include haxe

我需要在我的haxe项目中包含一些cpp文件,但我不知道如何告诉编译器该目录的位置。我不想使用绝对路径。 如何将目录包含在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

2 个答案:

答案 0 :(得分:1)

Haxe不会让你的.hx文件与c ++代码混合,使用你需要的本机代码来使用C外部函数接口(CFFI)。 Here是文档的链接。我的想法是首先编写你的c ++代码,编写一个接口来公开代码中的方法,编译一个ndll,然后用cpp.Lib.load('dllNameWithoutTheDotdll','method_signature',numberOfArguments);

将你的方法加载到haxe中

不幸的是,没有多少纯CFFI示例,但您可能需要查看OpenFL Native Extensions。它们基本上是代码模板,包含一组接口(包括CFFI),用于访问非haxe API

希望有所帮助,祝你好运!

答案 1 :(得分:0)

谢谢,但我知道CFFI以及如何编译ndlls。我认为@:include宏是相当新的。甚至还有一个@:cppFileCode和一个@:functionCode宏来直接从.hx文件中插入头代码和cpp代码。我测试了它,包括我可以从.hx文件中调用SetCursorPos Windows API函数。

这真是很酷的东西。现在我被卡住了,因为我不知道如何在构建过程中添加包含编译器标志,例如-ic:mycoolstuff /路径