2011-07-07 18 views
1

MATLABコードを計算に使用するJava GUIアプリケーションを開発中です。ただし、MATLABコード自体はDLLファイルを使用します。すべてのMATLAB関数をクラスにパックし、jarファイルを作成しました。JavaからMATLABでDLLを読み込めません

JavaプロジェクトのプロジェクトルートフォルダにCヘッダファイルとDLLファイルを追加し、プロパティにMATLABコードを含むjarファイルを追加しました。しかし、メソッドを呼び出すと、実行されているようですが、DLLファイルをロードできません。ここで

は私が取得エラーメッセージです:

{??? Error using ==> loadlibrary at 477 
There was an error loading the library 
**"C:\Users\AUG\Documents\Backup\SourceTracing\epanet2.dll"** 
FAiled..Error using ==> loadlibrary at 477 
Undefined function or variable 'epanet2_proto'. 

There was an error loading the library 
"C:\Users\AUG\Documents\Backup\SourceTracing\epanet2.dll" 
Error in ==> epanetloadfile at 31 

Undefined function or variable 'epanet2_proto'. 

Error in ==> sourceTraceGUI at 8 

私は実際にアドレスをチェックすると、DLLファイルはそのディレクトリにだけでなく、ヘッダファイルと共にあります。

更新

私はRichieさんsuggestionsのすべてを試してみました。

  1. 私はMATLABでDLLを使用する方法を実行できました。

  2. DLLを使用しないJavaから通常の方法を呼び出すことができます。

  3. DLLを使用するメソッドを呼び出すこともできますが、ライブラリがロードされると問題が発生しています。

それは私もMATLABでコードを実行すると、すべてが正常に動作します。

Error using ==> loadlibrary at 477 
There was an error loading the library 
"C:\Users\AUG\Documents\Backup\SourceTracing\epanet2.dll" 

語りますJavaから実行すると、DLLはロードされません。

答えて

0

問題が発生する可能性のある場所がたくさんあり、例が再現できないため、そのまま回答するのは難しいです。この問題を解決するには、問題を解消し、エラーの原因を絞り込む必要があります。試してみるべきことがいくつかあります。

DLLへの呼び出しの実行を含め、MATLABモデリングコードを直接実行できますか?

DLLを呼び出さないとMATLABコードが実行されますか?

あなたのJAVAプロジェクト内にDLLを形成する他のメソッドを呼び出すことはできますか?

+0

私は投票ダウンそれらのすべて – Nick

+0

0は、私はそれらのすべてをやった \t を受け入れませんでした。 MATLABでDLLを使用するメソッドを実行できました。 JAVAからDLLを使用しない通常の方法を呼び出すことができます。 DLLを使用するメソッドを呼び出すこともできますが、ライブラリの読み込みに問題が発生しています。 それは エラー==> 477でLoadLibrary関数ライブラリの読み込みエラーがありました使用して言う、「C:\ユーザー\ 8月ドキュメント\ \バックアップ\ SourceTracing \ epanet2.dll」 私もMATLABのコードを実行した場合、それはすべて正常に動作します。それはちょうど私がJAVAから実行すると、DLL doesnt負荷。 – Nick

関連する問題