0

C++ で記述されたヘッダー ファイルを含む .dll ライブラリがあります (ソース コードはありません)。このライブラリは、いくつかの別の .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 つしかありませんが、相互に依存しているため、そのうちの 3 つを使用したいと考えています。

それは私の仕事に適したツールでしょうか?(いくつかのチュートリアルは高く評価されます)。ありがとう。

4

1 に答える 1

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 の経験がまったくないので、うまくいくことを願っています!

于 2013-01-12T14:59:17.553 に答える