9

Linuxで開発している1つのJavaプロジェクトはほぼ完了しています。次に、Windowsでビルドしてテストする必要があります。そこで、EclipseをWindows XP 32ビットにインストールし、プロジェクトをインポートしました。プロジェクトのすべての依存関係はlibフォルダーのjarファイルにあり、Linuxではすべてが正常に機能しますが、WindowsXPでは次のエラーが発生します。

Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
    no swt-pi-gtk-4234 in java.library.path
    no swt-pi-gtk in java.library.path
    Can't load library: C:\Documents and Settings\firzen\.swt\lib\win32\x86\swt-pi-gtk-4234.dll
    Can't load library: C:\Documents and Settings\firzen\.swt\lib\win32\x86\swt-pi-gtk.dll

    at org.eclipse.swt.internal.Library.loadLibrary(Library.java:331)
    at org.eclipse.swt.internal.Library.loadLibrary(Library.java:240)
    at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:22)
    at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
    at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)
    at org.eclipse.swt.widgets.Display.<clinit>(Display.java:133)
    at gui.Frontend.<init>(Frontend.java:51)
    at Fighter.main(Fighter.java:18)

これらのDLLを検索しましたが、見つかりませんでした。これらのDLLファイルはどこでダウンロードできますか?

前もって感謝します。

4

3 に答える 3

7

正しいDLLファイルは、特定のプラットフォームのswt.jar内にあります。SWT for Windows(x86_64ではない)をダウンロードする必要があります。たとえば、http://download.eclipse.org/eclipse/downloads/drops4/R-4.2.1から「swt-4.2.1-win32-win32-x86.zip」をダウンロードします。 -201209141800 /#SWT

LinuxSWTからswt.jarを使用しようとしたように見えます。それはうまくいきません。サポートするプラットフォームごとに、プラットフォーム固有のSWTパッケージをダウンロードする必要があります。

于 2012-12-19T23:00:28.363 に答える
0

*.jarWindowsで使用します。Javaビルドパスに移動します。すべてを削除しorg.eclipse.swt.gtk.linux、に置き換えますorg.eclipse.swt.win32

于 2013-06-24T13:13:39.867 に答える
0

Eclipse4.4.0に含まれている「HelloWorldSWT」チュートリアルを実行しようとしたときに、同様の問題が発生しました。

この場合、解決策は本当に簡単でした。http://www.eclipse.org/forums/index.php/t/261606/のCraigWilliamsの回答から入手しました。

「私にとっての解決策は、「Javaプロジェクトの構成」というタイトルのチュートリアルのステップにあります。プロジェクトのプロパティに移動し、Javaビルドパスを選択して、前にSWTプロジェクトを追加した[プロジェクト]タブにいることを確認します。リファレンスを展開します。 SWTプロジェクトへ。ネイティブライブラリの場所はどこにありますかチュートリアルを実行すると(なし)と表示されます。[編集]をクリックすると、チュートリアルの前半でSWTプロジェクトを追加したときに、明らかにワークスペースでSWTプロジェクトが見つかりました。これを選択してクリックします。わかった。"

それがこのページにたどり着いた他の誰かを助けることができることを願っています。

于 2014-08-02T02:47:14.640 に答える