首页 > 开发 > 综合 > 正文

实例:创建SWT项目的原生库导入问题

2024-07-21 02:14:31
字体:
来源:转载
供稿:网友

  对于 eclipse 3.1.x 而言,并没有书中提到的那个“org.eclipse.swt.win32_3.0.1”目录,自然也不会有目录下的 swt.jar 和 swt-win32-3063.dll,这个目录在 eclipse 3.1.x 中被 org.eclipse.swt.win32.win32.x86_3.1.x.jar 文件替代,而原生库文件也被压缩到这个 jar 文件中,用 winrar 解压即可得到。

  在安装了 swt designer 后通过其建立项目时,会自动导入所有必须的 jar 文件到项目中,无需手动导入,但如果之前解压了 org.eclipse.swt.win32.win32.x86_3.1.x.jar 文件,请将解压目录删除之后再建立项目,否则会导入出错。这个错误是因为导入了解压得到的 “org.eclipse.swt.win32.win32.x86_3.1.x”目录,可以手动修改为导入整个 jar 文件就 ok 了。

  接下来是原生库的导入,我发现用书上的方法导入原生库到项目中(实际就是将 swt-win32-xxxx.dll 文件复制到项目根目录),会出现问题。后来翻查《swt/jface in action》得知,有多种方法导入原生库,但作者发现最好的方法是将 swt-win32-xxxx.dll 文件直接复制到“$java/jre/bin”目录下,这样才不会引起诸多问题。

  总结解决步骤:

  ①安装 eclipse 3.1.x 和 swt designer,解压 org.eclipse.swt.win32.win32.x86_3.1.x.jar 文件。

  ②复制 swt-win32-xxxx.dll 到“$java/jre/bin”目录下。

  ③删除解压 org.eclipse.swt.win32.win32.x86_3.1.x.jar 得到的文件夹。

  ④新建 swt/jface java project,然后就可以直接新建 swt 类文件了,无需再导入原生包。

  ps:推荐参考《swt/jface in action》配合《eclipse 入门和精通》进行学习。在《swt/jface in action》附录“creating projects with swt/jface”中的 316 页可以找到关于导入原生图形库的讲述:

  once you’ve found the graphics library, you need to make sure the application launcher can use it. the documentation lists a number of ways to do this, but we’ve found that adding a copy to the $java/jre/bin directory works best.

  other methods, which can be less reliable, include the following:

  option 1: copy and paste these files directly in the widgetwindow project.

  option 2: include the native library in any directory pointed to by the java.library.path variable. this variable, among others, can be seen by clicking help->about eclipse platform->configuration details.

  option 3: go to control panel->system->advanced->environmental variables and update the path variable with the directory containing the library file.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表