
お世話になっております
何度も質問して申し訳ないですが、わかる方いらっしゃれば
ご回答よろしくお願いいたします。
現在JavaでJNIを使用し、呼び出したC++からハードウェアへ
接続するというプログラムを開発しております。
その際、C++をdll形式にして、そのdllをJavaで呼び出すような形なのですが
私が使用しているコンピュータ(Windows 7)では、ハードウェアへの接続ができています。
コマンドを送信し、レスポンスを取得し、Javaのプログラムで表示ができます。
しかし、別のコンピュータ(Windows XP)で、開発したプログラムを実行すると
dllを読み込む時点で下記のエラーが出てしまいます。
java.lang.UnsatisfiedLinkError: no JNI001 in java.library.path
JNI001がC++で作成したdllです。
JNI001.dllは、実行したプログラムと同じフォルダにありますので、おかしいなと思いまして
C:\Windows へ入れてみても結果は変わりません。
私が使っていたコンピュータのeclipseをまるまるコピーして実行しても効果なし。
環境変数も私のコンピュータとほとんど変わりません。
XPのJavaをインストールし直しても変わりません。
フォルダ階層やフォルダ名などチェックしましたが、7とXPで変わった点もないように思います。
そこで、少し気になったのですが、
現在開発中のプログラムは
Java → JNI001.dll → ○○.dll → ハードウェア
○○.dllはハードウェアを動かすためのdllです。
上記の仕様に問題があるのでしょうか。
それでは私のコンピュータで接続できている理由がわからなくなりますが
・・・もう、なにもわかりません
どうか、ご教授宜しくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>java.lang.UnsatisfiedLinkError: no JNI001 in java.library.path
エラーメッセージを読む限り、「java.library.path に JNI001 がない」と書いてあるよう見えますけど。
他に考えられる事といえば、JNI001.dllや○○.dllに必要なランタイムライブラリがXP側にはインストールされていないとかではないでしょうか。
ご回答ありがとうございます
C++初心者のためランタイムライブラリ等わからないことばかりですので
ランタイムライブラリについて詳しく調べてみます
ありがとうございます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Macターミナルで実行中のプログ...
-
sendkeysにてALT+CTRL+INSERTを...
-
並列計算をしたときのシステム...
-
C言語でコマンドラインのカレン...
-
RPG パラメーターについて
-
Windows10でDOSゲーム
-
システム資源とは?
-
system関数を使用してsuコマン...
-
VB上で実行中の無限ループの止め方
-
初期化は、main関数の外で...
-
パソコンの演算速度について
-
バックグラウンドで実行される...
-
exeファイルが開かないのはなぜ...
-
SNMPマネージャAPIでメモリリー...
-
実行時エラー429
-
C# シリアル通信でデータ受信...
-
プログラム上のCPU稼働率低減に...
-
プロセスIDの取得方法について
-
VBSの処理中一旦処理を止めて再...
-
メモリが不足しています(VBA)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Macターミナルで実行中のプログ...
-
パソコンの演算速度について
-
C言語で途中までしか、プログラ...
-
sendkeysにてALT+CTRL+INSERTを...
-
vba GetAsyncKeyState関数について
-
RPG パラメーターについて
-
sleep()関数について
-
Windows10でDOSゲーム
-
実行中の実行ファイルの上書き
-
VBAで外部プログラムを非表示で...
-
終了してもプログラムが実行し...
-
並列計算をしたときのシステム...
-
VB上で実行中の無限ループの止め方
-
VB6プログラムの実行中でのこと
-
アクセス[ファイルを開かずに、...
-
他の実行ファイルを実行するプ...
-
実行時エラー429
-
UWSCがうまく動かない
-
MACアドレスの調べ方
-
”行数のカウント”はどうすれば...
おすすめ情報