我想在 D 中使用 LEAP Motion。
因此它没有 C 库,只有 C++ 库。
我在命令下尝试了 SWIG 2.0.9。
swig -c++ -d -d2 leap.i
该命令输出Leap.d、Leap_im.d、Leap_wrap.cxx、Leap_wrap.h。
但是,我不知道如何在 D 中使用包装器,也找不到如何使用包装器。
链接错误显示以完整使用它。
如何在 D2 中使用这些包装器?
我可以在没有 Leap.cpp(Leap.dll 的来源)的情况下使用吗?
更新:
谢谢两个答案。抱歉,因为忙,回复晚了。
说第一个结论,我可以按照以下步骤在 Win64 上构建 Leap 示例代码。
- 通过上述命令输出包装器。
- 使用 VC2010 从 Leap_wrap.cxx、Leap_wrap.h 创建 x64 DLL,并导入 Leap.lib(x64)。
- 使用 dmd -c 编译 Leap.d 和 Leap_im.d。
- 使用 Leap.obj 和 Leap_im.obj 构建 LeapTest.d
所有命令都在下面。
swig -c++ -d -d2 leap.i
dmd -c Leap.d Leap_im.d -m64
dmd LeapTest.d Leap.obj Leap_im.obj -m64
execute LeapTest.exe (require x64 Leap.dll and Leap_wrap.dll)
我可以运行 Leap 程序。
但是程序catch onFrame 事件回调。
我将在 x86 上重试并调查原因。