我的.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,但我想使用其中的三个,因为它们相互依赖。
可能是我的任务更适合的工具吗? (一些教程将不胜感激)。感谢。
答案 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完全没有经验!