在OS X 10.6中将VTK 5.4.2与Java结合使用

在OS X 10.6中将VTK 5.4.2与Java结合使用,java,macos,vtk,Java,Macos,Vtk,有人在OSX下使用VTK5.4.2成功运行过Java代码吗 我已经从源代码处安装了VTK5.4.2,它是为Java和共享库配置的。vtk.jar文件按预期生成,Java程序编译正确。但是,在执行时,只要包装器类调用底层的*.dylib库,就会发现只有第一个库被加载,并且它的依赖项不会被找到,即使它们与加载的第一个库位于同一目录中 使用Netbeans运行时,我得到的错误是: 线程“main”中出现异常 java.lang.UnsatifiedLink错误: /usr/lib/java/libvt

有人在OSX下使用VTK5.4.2成功运行过Java代码吗

我已经从源代码处安装了VTK5.4.2,它是为Java和共享库配置的。vtk.jar文件按预期生成,Java程序编译正确。但是,在执行时,只要包装器类调用底层的*.dylib库,就会发现只有第一个库被加载,并且它的依赖项不会被找到,即使它们与加载的第一个库位于同一目录中

使用Netbeans运行时,我得到的错误是:

线程“main”中出现异常 java.lang.UnsatifiedLink错误: /usr/lib/java/libvtkFilteringJava.dylib: 未加载库:libvtkCommonJava.5.4.dylib
引用自:/usr/lib/java/libvtkFilteringJava.dylib 原因:在java.lang.ClassLoader$NativeLibrary.load(本机方法)中找不到映像

有什么想法吗

谢谢-
Carlos

如果为System.setProperty(“java.library.path”)添加System.outprintln;它是否包括ibvtkCommonJava.5.4.dylib所在的目录

另外,您是否在计算机上运行32/64位的混合?。。。如果是,则编译的库是否与正在使用的VM相同(64位VM+64位库或32位VM+32位库)

这里讨论的是库路径:

如果为System.setProperty(“java.library.path”)添加System.outprintln;它是否包括ibvtkCommonJava.5.4.dylib所在的目录

另外,您是否在计算机上运行32/64位的混合?。。。如果是,则编译的库是否与正在使用的VM相同(64位VM+64位库或32位VM+32位库)

这里讨论的是库路径:

由于我不确定如何更改java.library.path(设置属性不起作用,怎么做?),我打印了路径并将所有VTK共享库复制到路径中的一个目录中。因此,我假设运行时可以找到它们。在另一个问题上,我使用cmake构建了VTK,但我不熟悉它-查看配置选项,我没有看到“-m64”标志,所以我假设它是32位。Java报告:JavaHotSpot(TM)64位服务器虚拟机(构建14.3-b01-101,混合模式),显然是64位。也许我应该尝试重新构建添加“-m64”…系统属性通常(总是?)为只读。。。我已经更新了我的答案。谢谢你的讨论,ToBubear-这有助于设置路径,并理解如何将Java与C库链接起来。尽管如此,它仍然不能正常工作,我不断地得到同样的错误。32位对64位的编译也没有帮助,错误信息是相同的。我可能会在我的mac上尝试一下(明天)。。。如果我这样做了,我会在这里更新它。因为我不确定如何更改java.library.path(设置属性不起作用,怎么做?),所以我打印了路径并将所有VTK共享库复制到路径中的一个目录中。因此,我假设运行时可以找到它们。在另一个问题上,我使用cmake构建了VTK,但我不熟悉它-查看配置选项,我没有看到“-m64”标志,所以我假设它是32位。Java报告:JavaHotSpot(TM)64位服务器虚拟机(构建14.3-b01-101,混合模式),显然是64位。也许我应该尝试重新构建添加“-m64”…系统属性通常(总是?)为只读。。。我已经更新了我的答案。谢谢你的讨论,ToBubear-这有助于设置路径,并理解如何将Java与C库链接起来。尽管如此,它仍然不能正常工作,我不断地得到同样的错误。32位对64位的编译也没有帮助,错误信息是相同的。我可能会在我的mac上尝试一下(明天)。。。如果我这样做了,我会在这里更新它。