Eclipse 4.2.2 Juno をインストールしてみた。
Help -> Cheet Sheets -> Java Development に
Create a Hello World SWT application というのがあったので指示通りにやったのに
エラーが出たのでいろいろ調べてみた。
チートシートでの設定は以下のとおり。
1. HelloWorldSWTプロジェクトのプロパティのJava Build Path -> Project に
org.eclipse.swt.win32.win32.x86 を追加
チートシートどおりにやって最後にHelloWorldSWTクラスをRunすると
エラーが出る
Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-win32-4236 in java.library.path
no swt-win32 in java.library.path
Can't load library: C:\Documents and Settings\username\.swt\lib\win32\x86\swt-win32-4236.dll
Can't load library: C:\Documents and Settings\username\.swt\lib\win32\x86\swt-win32.dll
これは、JavaがSWTのライブラリのある場所(パス)がわからないと言うことらしい。
どうもSWTというのは特別なライブラリで、動作プラットフォーム固有の共有ライブラリのパスを指定する必要があるらしい。
この場合は、win32.win32.x86用のDLLライブラリ
参照サイト: SWT使用方法(www.atmarkit.co.jp)
エラーの原因は、1.でやったBuild Path設定が足りていなかったみたいで、
次の設定を追加するとエラーが消えた。
2. HelloWorldSWTプロジェクトのプロパティのJava Build Path -> Project の
org.eclipse.swt.win32.win32.x86 を展開
Native library location (None) と表示されるので、これを選択してから Edit をクリック。
Workspaceをクリック。
(チートシート手順にてこのライブラリをImportしているのでワークスペースに存在している)
org.eclipse.swt.win32.win32.x86 を選択してOKを3回クリック
これでSWT版HelloWorldが動作しました。
ついでに、関数ヘルプも表示されるようになり、めでたしめでたし。
続きは Eclipse / SWTのJavadoc
No comments:
Post a Comment