• ベストアンサー

eclipseでSWTのアプリケーションが実行できない

eclipse3.0にVisualEditerを入れています。 しかしSWTのアプリケーションが実行できずに困っています。 ビルドまではできているようなのですが、 実行しようとすると、 java.lang.UnsatisfiedLinkError: no swt-win32-3064 in java.library.path とコンソールにでています。 プロパティで見ると、Jarを追加とあるのですが、swt-win32-3064は\eclipse-SDK-3.0.2-win32\eclipse\plugins\org.eclipse.swt.win32_3.0.2\os\win32\x86 に存在するものの、dllです。 なにをどうすればいいのかわからないです。 何か気がついた点がある方よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nimua
  • ベストアンサー率21% (8/38)
回答No.2

#1さんの回答にあるdllの問題で間違いないと思います。 eclipseによる実行なら、 プロジェクト直下にdllをコピーするだけで動くと思います。

azicyan
質問者

補足

classpathを設定するように、dllを指定することはできないのでしょうか?

その他の回答 (2)

noname#49664
noname#49664
回答No.3

>起動時パス設定ですね・・・ >どこで設定するのでしょうか・・・ 要するに、(Eclipseではなくて)プログラムを実行するJava仮想マシンが起動する際に認識できるpathにあればいいわけです。環境変数のpathで指定してある場所ならどこでもいいと思いますが・・。  一般的には、使用しているJREのbinディレクトリ内とか、Windowsであれば「windows」フォルダ内や、その中の「system32」の中に放り込んでしまうのが一番手っ取り早いかと思いますよ。

azicyan
質問者

お礼

わかりました! やってみます!

noname#49664
noname#49664
回答No.1

3.0.2をお使いなんですよね? SWTをきちんとインストールしてないのではありませんか? というより、SWTをダウンロードしていないのでは?  SWTは、Eclipseに標準で入っているわけではありません。別途、SWTをダウンロードする必要があります。ダウンロードしたファイルを伸張すると、swt.jarというjarファイルと、swt-win32-××.dllとswt-awt-win32-××.dllという2種類のDLLファイル(Windowsの場合)が用意されているはずです。  プロジェクトのプロパティでjarファイルをライブラリとして追加し、更に2つのDLLファイルをアプリケーション起動時に参照されるパス上(カレントディレクトリなど)にコピーして起動すれば動くはずです。

azicyan
質問者

お礼

おおおお!! おっしゃるとうり、2つのDllファイルをワークスペースにコピーしてきましたら、動きました!!! でもこんなことはチュートリアルに書いてなかったような・・・ 起動時パス設定ですね・・・ どこで設定するのでしょうか・・・ swt.jarへのライブラリパスはクラスの作成の時にSWTを選んでますので、自動で設定されるようです。 dllへのパスって・・・どうすればいいのでしょうか・・・

azicyan
質問者

補足

それらのファイルは存在しています。 >更に2つのDLLファイルをアプリケーション起動時に参照されるパス上(カレントディレクトリなど)にコピー これかも??しれません。 これはどこで確認できるのでしょうか?????

関連するQ&A

専門家に質問してみよう