我几乎完成了一个我在Linux上开发的Java项目。现在我需要在Windows上构建和测试它。所以我在Windows XP 32位上安装了Eclipse,并导入了我的项目。项目的所有依赖项都在lib文件夹的jar文件中,在Linux上一切运行良好,但在Windows XP上我遇到以下错误:
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文件?
提前致谢。
答案 0 :(得分:6)
正确的DLL文件位于特定平台的swt.jar中。你需要下载SWT for Windows(不是x86_64),例如来自http://download.eclipse.org/eclipse/downloads/drops4/R-4.2.1-201209141800/#SWT的“swt-4.2.1-win32-win32-x86.zip”。
看起来好像你曾试图从linux SWT使用swt.jar。那不行。您需要为每个要支持的平台下载特定于平台的SWT包。
答案 1 :(得分:0)
在Windows上使用*.jar
。转到Java Build Path。删除所有org.eclipse.swt.gtk.linux
并将其替换为org.eclipse.swt.win32
答案 2 :(得分:0)
当我尝试执行&#34; Hello World SWT&#34;时,我遇到了类似的问题。 Eclipse 4.4.0中包含的教程。
在这种情况下,解决方案非常简单。我是从克雷格·威廉姆斯在http://www.eclipse.org/forums/index.php/t/261606/
中的回答中得到的&#34;对我来说,解决方案位于标题为“配置Java项目”的教程中。进入项目Properties并选择Java Build Path,然后确保您处于之前添加SWT项目的Projects选项卡中。展开对SWT项目的引用。在哪里说本地图书馆位置我发现当我按照教程说它(无)。当我在教程前面添加它时,我点击了编辑并在我的工作区中找到了SWT项目。选择此项并单击“确定”。&#34;
希望它可以帮助到达此页面的其他人。