1

私は Java での sigar およびネイティブ ライブラリ プログラミングは初めてなので、単純な問題かもしれませんが、自分で結果を見つけることができません。Win 7(64ビット)OSでEclipse indigoを使用しています。次の手順を実行しました。

sigar.jar と log4l.jar を jre6/lib に追加し、sigar-amd64-winnt.dll (x86 用のファイルも) ファイルを ./Program Files/Java/jre6/lib に追加します。次に、新しい sigar() を作成したいだけですが、次の例外が発生します。

Failed to load sigar-amd64-winnt: java.lang.NullPointerException
org.hyperic.sigar.SigarException: Failed to load sigar-amd64-winnt: java.lang.NullPointerException
    at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:170)
    at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:100)
    at MemExample.<clinit>(MemExample.java:8)
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.hyperic.sigar.Mem.gather(Lorg/hyperic/sigar/Sigar;)V
    at org.hyperic.sigar.Mem.gather(Native Method)
    at org.hyperic.sigar.Mem.fetch(Mem.java:30)
    at org.hyperic.sigar.Sigar.getMem(Sigar.java:304)
    at MemExample.getInformationsAboutMemor

私はすでに VM-Arguments (in Run Config -DJava.library.path="path/of/lib") を操作して、Java ビルド パスのネイティブ ライブラリを sigar/lib のパスに設定し、プログラムの Systempath を自分でSystem.setProperty("path", "-"). どれもこれまでに成功していません。そして一歩一歩、絶望に屈する。

**編集:** sigar が AMD でのみ動作する可能性はありますか? 一部の友人は、AMD プロセッサと win 7 (32b) で同じコードを試しましたが、うまくいきました。hyperic sigar 開発者フォーラムで既に回答を探していますが、役立つヒントや回答が見つかりません。

4

1 に答える 1

1

sigar-amd64-winnt.lib が見つからないようです: http://communities.vmware.com/message/1947455#1947455

于 2012-09-10T13:10:15.617 に答える