【问题标题】:unable to load SWT library on osx无法在 osx 上加载 SWT 库
【发布时间】:2013-06-07 18:34:12
【问题描述】:

尝试在 max osx snow leopard 上运行时 intelliJ 出现错误

线程“主”java.lang.UnsatisfiedLinkError 中的异常:无法加载 SWT 库。原因:
    java.library.path 中没有 swt-win32-4234
    java.library.path 中没有 swt-win32
    无法加载库:/Users/bigbitecode/.swt/lib/macosx/x86_64/libswt-win32-4234.jnilib
    无法加载库:/Users/bigbitecode/.swt/lib/macosx/x86_64/libswt-win32.jnilib

该代码在 windows 和 linux 上运行良好,但由于某种原因在 osx 上编译后无法运行,并出现上述问题。

我觉得可疑的是,“libswt-win32-*”不应该使用可可,因为它是在 Mac 上编译的吗?我检查了目录,果然“../x86_64/”目录中没有任何内容。 但是,我已经为项目添加了依赖项以具有 swt.jar

会不会是我的JVM设置不对?

感谢您的帮助!

编辑:这是我的 swt.jar 的清单,它位于 lib 文件夹中

清单版本:1.0 Ant 版本:Apache Ant 1.8.3 创建者:1.6.0_21-b06(Sun Microsystems Inc.) SWT 操作系统:win32 SWT-WS:win32 SWT-Arch:x86_64

【问题讨论】:

  • 并且您绝对确定您在 MacOS 上使用 swt.jar 而不是在 windows 上引用那个?
  • @Baz 是的,事实上,我在 jar 中看到了 lib-cocoa.jnilib 和其他一些 Mac 相关文件。
  • 清单是什么样的?
  • 我在 SWT 文件的 .jar 中找到了这个:Manifest-Version: 1.0 Ant-Version: Apache Ant 1.8.4 Created-By: 1.6.0_27-b07 (Sun Microsystems Inc.) SWT -OS:macosx SWT-WS:可可 SWT-Arch:
  • 请将此添加到您的问题而不是评论中。

标签: java swt osx-snow-leopard


【解决方案1】:

您应该匹配您的 OS、VM、SWT 平台。

例如:

操作系统:Windows 7 32 位 虚拟机:JRE 7 赢 32 位 SWT:win32 二进制文件

或者,

操作系统:Windows 7 64 位 虚拟机:JRE 7 赢得 64 位 SWT:win32_x64 二进制

所以,如果你的操作系统是 OSX(mac),你应该使用 SWT osx 二进制文件,而不是 win32。

【讨论】:

    猜你喜欢
    • 2012-12-07
    • 2012-04-27
    • 2016-04-20
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多