双系统配置VTK_JAVA

Windows 环境下配置 Java-vtk

附上大佬的连接;JPhei/vtk_java (github.com)

使用的IED 为 IDEA,相关的环境配置,上面老大的链接都包括了;

 版本不是特别大问题,我们直接将编译好的dll库,放置到相应的文件夹即可;↑

可以看到我上的版本号很乱,但不影响程序的运行;

这里有一个路径需要注意一下,关于将这些动态库放置放到 java.exe同级目录下的问题;

 

可以看到我这里(将这些动态库)是放在了jdk下的bin目录中; ↑

 同样的我在JDK目录下的jre目录中同样也放置了一份(编译好的动态库)↑

到这里暂时是结束了;我们打开IEDA;新建项目,选择maven创建好新项目后粘贴一下代码,运行测试VTK是否支持,

package com.example.vtk;

import vtk.*;

public class Cylinder {
    static {
        if (!vtkNativeLibrary.LoadAllNativeLibraries()) {
            for (vtkNativeLibrary lib : vtkNativeLibrary.values()) {
                if (!lib.IsLoaded()) {
                    System.out.println(lib.GetLibraryName() + " not loaded");
                }
            }
        }
        vtkNativeLibrary.DisableOutputWindow(null);
    }

    private void helloworld() {
        //设置圆柱体样式
        vtkCylinderSource cylinderSource = new vtkCylinderSource();
        cylinderSource.SetCenter(0, 0, 0);
        cylinderSource.SetHeight(5);
        cylinderSource.SetRadius(1);
        //设置映射,输入圆柱体数据
        vtkPolyDataMapper mapper = new vtkPolyDataMapper();
        mapper.SetInputConnection(cylinderSource.GetOutputPort());
        //设置Actor,存储图像
        vtkActor actor = new vtkActor();
        actor.SetMapper(mapper);
        //设置渲染
        vtkRenderer renderer = new vtkRenderer();
        renderer.AddActor(actor);
        //创建显示窗口
        vtkRenderWindow renwin = new vtkRenderWindow();
        renwin.AddRenderer(renderer);
        //设置交互样式
        vtkRenderWindowInteractor renwinIn = new vtkRenderWindowInteractor();
        renwinIn.SetRenderWindow(renwin);
        //可视化输出
        renwin.Render();
        renwinIn.Start();
    }

    public static void main(String[] args) {
        Cylinder cylinder = new Cylinder();
        cylinder.helloworld();
    }
}

直接运行报错是肯定的,哈哈哈哈;

解决方案 : File-> Project Structure...->          ↓

这里选择Libraries这是我添加过的       ↓           

如果没有的点击 + 选择 JAVA     如下图,之后选择你下载的编译好的动态库,打开目录,选择vtk.jar即可;

 再次运行,如果还是报错,检测这几个地方:选择File-> settings,Maven这里选择 use...

 再次运行;可能会显示很多库找不到,这里建议安装一下 visual studio2017,因为这里的动态库都是使用vs编译的因此运行时可能会依赖与vs的相关环境。

java.lang.UnsatisfiedLinkError: no vtkFiltersTopologyJava in java.library.path
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1863)
	at java.lang.Runtime.loadLibrary0(Runtime.java:843)
	at java.lang.System.loadLibrary(System.java:1134)
	at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:235)
	at vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:170)
	at SimpleVTK.<clinit>(SimpleVTK.java:14)
java.lang.UnsatisfiedLinkError: no vtkIOExportOpenGL2Java in java.library.path
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1863)
	at java.lang.Runtime.loadLibrary0(Runtime.java:843)
	at java.lang.System.loadLibrary(System.java:1134)
	at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:235)
	at vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:170)
	at SimpleVTK.<clinit>(SimpleVTK.java:14)
java.lang.UnsatisfiedLinkError: no vtkTestingRenderingJava in java.library.path
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1863)
	at java.lang.Runtime.loadLibrary0(Runtime.java:843)
	at java.lang.System.loadLibrary(System.java:1134)
	at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:235)
	at vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:170)
	at SimpleVTK.<clinit>(SimpleVTK.java:14)
vtkAcceleratorsVTKmJava not loaded
vtkDomainsMicroscopyJava not loaded
vtkFiltersParallelFlowPathsJava not loaded
vtkFiltersParallelGeometryJava not loaded
vtkFiltersParallelMPIJava not loaded
vtkFiltersParallelStatisticsJava not loaded
vtkFiltersReebGraphJava not loaded
vtkFiltersStatisticsGnuRJava not loaded
vtkFiltersTopologyJava not loaded
vtkIOADIOSJava not loaded
vtkIOExportOpenGLJava not loaded
vtkIOExportOpenGL2Java not loaded
vtkIOFFMPEGJava not loaded
vtkIOGDALJava not loaded
vtkIOGeoJSONJava not loaded
vtkIOMPIImageJava not loaded
vtkIOMPIParallelJava not loaded
vtkIOMySQLJava not loaded
vtkIOODBCJava not loaded
vtkIOParallelExodusJava not loaded
vtkIOParallelLSDynaJava not loaded
vtkIOParallelNetCDFJava not loaded
vtkIOPostgreSQLJava not loaded
vtkIOTRUCHASJava not loaded
vtkIOVPICJava not loaded
vtkIOXdmf2Java not loaded
vtkIOXdmf3Java not loaded
vtkImagingOpenGL2Java not loaded
vtkInfovisBoostGraphAlgorithmsJava not loaded
vtkInfovisParallelJava not loaded
vtkParallelMPIJava not loaded
vtkRenderingContextOpenGLJava not loaded
vtkRenderingExternalJava not loaded
vtkRenderingGL2PSJava not loaded
vtkRenderingLICJava not loaded
vtkRenderingLICOpenGL2Java not loaded
vtkRenderingMatplotlibJava not loaded
vtkRenderingOSPRayJava not loaded
vtkRenderingOculusJava not loaded
vtkRenderingOpenGLJava not loaded
vtkRenderingOpenVRJava not loaded
vtkRenderingParallelJava not loaded
vtkRenderingParallelLICJava not loaded
vtkRenderingQtJava not loaded
vtkRenderingSceneGraphJava not loaded
vtkRenderingVolumeAMRJava not loaded
vtkRenderingVolumeOpenGLJava not loaded
vtkTestingRenderingJava not loaded
vtkPythonInterpreterJava not loaded
vtkViewsGeovisJava not loaded
vtkWebCoreJava not loaded
vtkWebGLExporterJava not loaded

Ubuntu上配置vtk_java

Ubuntu下编译vtk(java版本)【超详细-带过程截图】_冰雨荥雾1314的博客-CSDN博客_ubuntu vtk 编译附上这位大佬的网址,按照这个流程编译即可;

遇到的问题:

安装或更新相关库时出现 有未能满足的依赖关系 执行下面这行命令

sudo apt-get -f install

再终端输入 Java -version ,可以正常打印输出,但使用cmake编译时,报以下错误,也就是config失败;

 这里,我们需要重新配置一下java的环境变量了,下面的链接是配置java_JDK的,但是我引用他的环境变量时我cmake失败

https://blog.csdn.net/qq_43503670/article/details/125129508

附上我的环境变量;首先打开环境变量,再最低行进行添加

gedit ~/.bashrc

 这里JAVA_HOME  改成自己 JDK所在的路径即可;

export JAVA_HOME=/usr/local/java/jdk1.8.0_351
export PATH=$PATH:$JAVA_HOME/bin

更新一下环境变量

source ~/.bashrc

 此时再进行cmake,如果还是不行,请重启一下电脑;

重启之后,再次进行cmake ,如果还是不可以,将刚刚上面的环境变量,加入到系统变量中

sudo gedit /etc/profile

加入之后,更新系统变量,重启电脑;

source /etc/profile

之后按照上面流程编译结束之后,下载Eclipse,下载之后,运行时选择第一个;并进行配置JDK 

(1条消息) Eclipse如何配置JDK_奋斗的小虾米的博客-CSDN博客_eclipse配置jdk

附上大佬的链接;

之后创建项目,配置vtk的环境

 这里选择你编译完成的vtk的lib 路径

 之后右击运行即可:

 

 到此,完毕,谢谢

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值