【问题标题】:Could not load SWT library on Windows 32-bit无法在 Windows 32 位上加载 SWT 库
【发布时间】:2012-12-07 09:10:49
【问题描述】:

我在 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 文件?

提前致谢。

【问题讨论】:

    标签: windows exception dll swt 32-bit


    【解决方案1】:

    正确的 DLL 文件位于您特定平台的 swt.jar 中。您需要下载适用于 Windows(不是 x86_64)的 SWT,例如“swt-4.2.1-win32-win32-x86.zip”来自http://download.eclipse.org/eclipse/downloads/drops4/R-4.2.1-201209141800/#SWT。

    您似乎尝试过使用 linux SWT 中的 swt.jar。那是行不通的。您需要为要支持的每个平台下载特定于平台的 SWT 包。

    【讨论】:

    • “此内容似乎已移至档案中。” ---- 如何解决此错误?
    【解决方案2】:

    在 Windows 上使用 *.jar。转到 Java 构建路径。删除所有org.eclipse.swt.gtk.linux 并替换为org.eclipse.swt.win32

    【讨论】:

      【解决方案3】:

      当我尝试执行 Eclipse 4.4.0 中包含的“Hello World SWT”教程时遇到了类似的问题。

      在这种情况下,解决方案非常简单。我是从 Craig Williams 在http://www.eclipse.org/forums/index.php/t/261606/的回答中得到的@

      “对我来说,解决方案位于标题为“配置 Java 项目”的教程步骤中。进入项目属性并选择 Java 构建路径,然后确保您位于之前添加 SWT 项目的项目选项卡中。展开对 SWT 项目的引用。在哪里说 Native library location 我发现当我按照教程进行操作时它说 (None)。我单击 Edit 并在我的工作区中找到了 SWT 项目,当我在教程的前面添加它时很明显。选择然后点击确定。”

      希望它可以帮助到此页面的其他人。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-23
        • 1970-01-01
        相关资源
        最近更新 更多