我正在java中开发一个应用程序来与模拟器,X-Plane进行通信,使用x-plane sdk,它在C中有它。我下载了SDK并包含.libm .h和.cpp文件。< / p>
我已经在互联网上搜索了如何在我的程序中加载这些库,我找到了Java Native Interface,所以我开始阅读这个,寻找符合我案例的例子,但我只找到了同样的情况,如何创建c库。
我的问题是我已经有了头文件和库,而不是.dll。
如何在不自己创建库的情况下进行加载
我知道这可能是一种非常简单的方式,但我不知道,我非常感谢回答我的努力。
答案 0 :(得分:1)
如果它是严格的C接口,请查看JNA:
答案 1 :(得分:0)
如果你不能将源代码重新编译成动态库(例如,.so
文件),你可以做的另一个黑客就是创建一个简单的.c
包装器,静态链接在静态库并将其编译成动态库。包装器可以&#34;转发&#34;您需要进入静态库的调用,以确保从静态库中获得的内容包含在二进制文件中。
Here就是一个例子(该答案的命令行中的.o
文件将由您的包装器替换。)