vtk和java搭建_vtk-8.01的java版本环境配置

本文档详细介绍了在Windows 10 64位系统上配置VTK 8.0.1的Java版本环境的过程,包括所需工具、步骤和解决依赖库错误的方法。首先,需要确保系统运行Java 1.7 64位版本,并从指定链接获取编译好的vtk.jar和dlls文件。接着,将dlls文件夹中的所有dll文件复制到Java安装目录的bin文件夹和C:\Windows\System32目录下。在Eclipse中创建项目,导入vtk.jar并测试。当遇到'Can't find dependent libraries'错误时,需检查Java版本,确保系统变量指向Java 1.7,并在必要目录下再次复制dll文件。
摘要由CSDN通过智能技术生成

vtk-8.01的java版本环境配置

0、当前环境:

win10-64bit 电脑系统

java1.7-64bit

1、准备工具:

编译java版本的vtk后的文件:(64位版本)

1》dlls文件

2》vtk.jar文件

d06561cf6dfa57c78f3a5b7bb393b6c2.png

其中dlls文件夹下都是编译好的dll文件,如下图(总共有212个项目):

d2b90b3eb72ca4ba93b6c7b9d61ccc58.png

需要安装Visual Studio环境,我安装的是Visual Studio2015-64bit

编译好的文件获取链接:https://github.com/JPhei/vtk_java

2、环境配置搭建:

0》、确人当前的java版本:win+R进入命令行,输入:java -version 。即可查看当前运行环境的java版本;

ac3d4c3***7f35638c8feea80376583f1.png

1》、dlls文件夹下的212个.dll文件,拷贝到java 1.7的安装目录下的bin目录下(即:与java.exe同一目录);

545258220f1ab32d2c2c00cc934e783b.png

2》、dlls文件夹下的212个.dll文件,再拷贝一份到C:\Windows\System32 的目录下;

da3497d61b948e29f9ff18fbf2ad83e8.png

3》、eclipse中创建测试项目,测试demo:

3-1、项目中build path -》添加上面编译好的vtk.jar包到该项目中:

3f68c7f18d29a2cf8bd83d2f9f310a58.png

注 意,需要将vtk.jar文件加入eclipse的build path,同时把上面拷贝出来的dll文件拷贝到java 安装目录下的bin目录下,即和java.exe文件在同一目录。

3-2、接下来就是执行程序测试结果了,如果不出问题,那么可以得到以下效果:

package vtktestdemo;

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.SwingUtilities;

import vtk.vtkActor;

import vtk.vtkConeSource;

import vtk.vtkNativeLibrary;

import vtk.vtkPanel;

import vtk.vtkPolyDataMapper;

/**

* An application that displays a 3D cone. A button allows you to close the

* application.

*/

public class SimpleVTK extends JPanel implements ActionListener {

private static final long serialVersionUID = 1L;

private vtkPanel renWin;

private JButton exitButton;

// -----------------------------------------------------------------

// Load VTK library and print which library was not properly loaded

static {

if (!vtkNativeLibrary.LoadAllNativeLibraries()) {

for (vtkNativeLibrary lib : vtkNativeLibrary.values()) {

if (!lib.IsLoaded()) {

System.out.println(lib.GetLibraryName() + " not loaded");

}

}

}

vtkNativeLibrary.DisableOutputWindow(null);

}

// -----------------------------------------------------------------

public SimpleVTK() {

super(new BorderLayout());

// build VTK Pipeline

vtkConeSource cone = new vtkConeSource();

cone.SetResolution(8);

vtkPolyDataMapper coneMapper = new vtkPolyDataMapper();

coneMapper.SetInputConnection(cone.GetOutputPort());

vtkActor coneActor = new vtkActor();

coneActor.SetMapper(coneMapper);

renWin = new vtkPanel();

renWin.GetRenderer().AddActor(coneActor);

// Add Java UI components

exitButton = new JButton("Exit");

exitButton.addActionListener(this);

add(renWin, BorderLayout.CENTER);

add(exitButton, BorderLayout.SOUTH);

}

/** An ActionListener that listens to the button. */

public void actionPerformed(ActionEvent e) {

if (e.getSource().equals(exitButton)) {

System.exit(0);

}

}

public static void main(String s[]) {

SwingUtilities.invokeLater(new Runnable() {

@Override

public void run() {

JFrame frame = new JFrame("SimpleVTK");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().setLayout(new BorderLayout());

frame.getContentPane()

.add(new SimpleVTK(), BorderLayout.CENTER);

frame.setSize(400, 400);

frame.setLocationRelativeTo(null);

frame.setVisible(true);

}

});

}

}

a29242d100ad3b7f2971054a1963dfb4.png

3、错误总结:

java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_75\bin\vtkChartsCoreJava.dll: Can't find dependent libraries

。。。

vtkAcceleratorsVTKmJava not loaded

。。。

如下图所示:

81e510de52b9fa0b602a6e77c21f3ab4.png

e8534c39187e98c7c65b***9b485f43fe.jpg

1f1e34df4a08e16ca66fc59c3bdb900b.png

解决方案:

1》、确认系统当前运行的java版本:控制面板-》java-》java

这里java运行时环境变量选择为java1.7

5be70f8a786e52b2a8eb9de1a9699682.png

244caa4a945a6211dc0897ae097b1a93.png

2》、确认java的系统环境变量配置也是java1.7;

3》、win+R ,输入:java -version 。查看java版本,保证也是java1.7;

4》、在C:\Windows\System32 的目录下、java1.7安装目录下的bin目录下。分别拷贝一份*.dll文件(总共212个.dll文件);

错误详情请看下面:

java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_75\bin\vtkChartsCoreJava.dll: Can't find dependent libraries

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)

at java.lang.Runtime.loadLibrary0(Runtime.java:849)

at java.lang.System.loadLibrary(System.java:1088)

at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:235)

at vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:170)

at vtktestdemo.SimpleVTK.(SimpleVTK.java:30)

java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_75\bin\vtkCommonColorJava.dll: Can't find dependent libraries

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)

at java.lang.Runtime.loadLibrary0(Runtime.java:849)

at java.lang.System.loadLibrary(System.java:1088)

at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:235)

at vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:170)

at vtktestdemo.SimpleVTK.(SimpleVTK.java:30)

java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_75\bin\vtkCommonComputationalGeometryJava.dll: Can't find dependent libraries

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)

at java.lang.Runtime.loadLibrary0(Runtime.java:849)

at java.lang.System.loadLibrary(System.java:1088)

at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:235)

at vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:170)

at vtktestdemo.SimpleVTK.(SimpleVTK.java:30)

java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_75\bin\vtkCommonCoreJava.dll: Can't find dependent libraries

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)

at java.lang.Runtime.loadLibrary0(Runtime.java:849)

at java.lang.System.loadLibrary(System.java:1088)

at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:235)

at vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:170)

at vtktestdemo.SimpleVTK.(SimpleVTK.java:30)

java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_75\bin\vtkCommonDataModelJava.dll: Can't find dependent libraries

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)

at java.lang.Runtime.loadLibrary0(Runtime.java:849)

at java.lang.System.loadLibrary(System.java:1088)

at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:235)

at vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:170)

at vtktestdemo.SimpleVTK.(SimpleVTK.java:30)

java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_75\bin\vtkCommonExecutionModelJava.dll: Can't find dependent libraries

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)

at java.lang.Runtime.loadLibrary0(Runtime.java:849)

at java.lang.System.loadLibrary(System.java:1088)

at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:235)

at vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:170)

at vtktestdemo.SimpleVTK.(SimpleVTK.java:30)

java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_75\bin\vtkCommonMathJava.dll: Can't find dependent libraries

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)

at java.lang.Runtime.loadLibrary0(Runtime.java:849)

at java.lang.System.loadLibrary(System.java:1088)

at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:235)

at vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:170)

at vtktestdemo.SimpleVTK.(SimpleVTK.java:30)

java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_75\bin\vtkCommonMiscJava.dll: Can't find dependent libraries

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)

at java.lang.Runtime.loadLibrary0(Runtime.java:849)

at java.lang.System.loadLibrary(System.java:1088)

at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:235)

at vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:170)

at vtktestdemo.SimpleVTK.(SimpleVTK.java:30)

java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_75\bin\vtkCommonSystemJava.dll: Can't find dependent libraries

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)

at java.lang.Runtime.loadLibrary0(Runtime.java:849)

at java.lang.System.loadLibrary(System.java:1088)

at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:235)

at vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:170)

at vtktestdemo.SimpleVTK.(SimpleVTK.java:30)

java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_75\bin\vtkCommonTransformsJava.dll: Can't find dependent libraries

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880)

at java.lang.Runtime.loadLibrary0(Runtime.java:849)

at java.lang.System.loadLibrary(System.java:1088)

at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:235)

at vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:170)

at vtktestdemo.SimpleVTK.(SimpleVTK.java:30)

java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jdk1.7.0_75\bin\vtkDomainsChemistryJava.dll: Can't find dependent libraries

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoade

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值