从Java调用dll(C ++库)方法

时间:2013-01-12 14:41:17

标签: java dll jnaerator

我的.dll库包含用C ++编写的头文件(没有可用的源代码)。这个库使用了另一些.dll文件 - 我也有它们。我的任务是使用Java中的这个库(调用方法和接收结果)。

我发现可以为此目的使用JNAerator。算法是什么?我尝试了java -jar jnaerator.jar MyLib.dll MyLibHeader.h命令,但输出

 ERROR: JNAeration failed ! 

     Missing output mode parameter -mode !
     Please use -h for help on the command-line options available.

如何使用-h寻求帮助?我需要哪种模式?示例命令中只有一个dll,但我想使用其中的三个,因为它们相互依赖。

可能是我的任务更适合的工具吗? (一些教程将不胜感激)。感谢。

1 个答案:

答案 0 :(得分:3)

您需要在命令行中指定-mode参数。 他们的Google Code页面有这样的说法:

  

-mode [mode:'Jar':只有绑定的JAR | 'StandaloneJar':具有绑定和运行时依赖性的JAR | 'Directory':绑定简单文件层次结构中的源'Maven':Maven项目中的绑定源准备构建| 'AutoGeneratedMaven':Maven项目,自动重新生成其绑定>]

假设您使用'StandaloneJar',那么您的命令行将是: java -jar jnaerator.jar -mode StandaloneJar MyLibHeader.h MyLib.dll

我希望它有效,因为我对JNAenerator完全没有经验!