-->

Wednesday, July 3, 2013

EclipseのSWTライブラリ設定

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