Compilation ld:切换到VTK6后未找到库

Compilation ld:切换到VTK6后未找到库,compilation,vtk,Compilation,Vtk,我改为VTK-6,现在我无法再编译了,因为找不到库。使用VTK-5,它工作得非常好 c++ -o loch -Wall lxTR.o lxOGLFT.o lxSetup.o lxRender.o lxWX.o lxImgIO.o lxLRUD.o lxFile.o lxSTree.o lxData.o lxMath.o lxSView.o lxSScene.o lxGUI.o lxGLC.o lxOptDlg.o lxAboutDlg.o img.o -lz -L/usr/X11R6/lib

我改为VTK-6,现在我无法再编译了,因为找不到库。使用VTK-5,它工作得非常好

c++ -o loch -Wall  lxTR.o lxOGLFT.o lxSetup.o lxRender.o lxWX.o lxImgIO.o lxLRUD.o lxFile.o lxSTree.o lxData.o lxMath.o lxSView.o lxSScene.o lxGUI.o lxGLC.o lxOptDlg.o lxAboutDlg.o img.o -lz -L/usr/X11R6/lib -lwx_osx_cocoau_gl-2.9 -L/usr/local/Cellar/wxmac/2.9.5.0/lib   -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL -framework QuickTime -lwx_osx_cocoau-2.9  -L/usr/local/lib  -lvtkHybrid -lvtkImaging -lvtkIO -lvtkGraphics -lvtkFiltering -lvtkCommon -lvtkjpeg -lvtkpng -lvtkzlib -lvtksys -lfreetype
ld: library not found for -lvtkHybrid

知道他们改变了什么吗?

似乎VTK 6中的组件库已经改变:有关详细信息,请参阅他们的组件库。例如,配置为将VTK中的所有内容与cmake链接后,
VTK_库
变量设置为要链接的库的以下列表:

vtkalglib;vtkChartsCore;vtkCommonColor;vtkCommonDataModel;vtkCommonMath;vtkCommonCore;vtksys;vtkCommonMisc;vtkCommonSystem;vtkCommonTransforms;vtkInfovisCore;vtkFiltersExtraction;vtkCommonExecutionModel;vtkFiltersCore;vtkFiltersGeneral;vtkCommonComputationalGeometry;vtkFiltersStatistics;vtkImagingFourier;vtkImagingCore;vtkRenderingContext2D;vtkRenderingCore;vtkFiltersGeometry;vtkFiltersSources;vtkIOImage;vtkDICOMParser;vtkIOCore;vtkzlib;vtkmetaio;vtkjpeg;vtkpng;vtktiff;vtkIOXMLParser;vtkexpat;vtkRenderingFreeType;vtkfreetype;vtkftgl;vtkRenderingOpenGL;vtkImagingHybrid;vtkDomainsChemistry;vtkIOXML;vtkIOGeometry;vtkjsoncpp;vtkexoIIc;vtkNetCDF;vtkNetCDF_cxx;vtkhdf5_hl;vtkhdf5;vtkFiltersAMR;vtkParallelCore;vtkIOLegacy;vtkFiltersFlowPaths;vtkFiltersGeneric;vtkFiltersHybrid;vtkImagingSources;vtkFiltersHyperTree;vtkFiltersImaging;vtkImagingGeneral;vtkFiltersModeling;vtkFiltersParallel;vtkFiltersParallelImaging;vtkFiltersProgrammable;vtkFiltersSelection;vtkFiltersTexture;vtkFiltersVerdict;verdict;vtkGeovisCore;vtkInfovisLayout;vtkInteractionStyle;vtkInteractionWidgets;vtkRenderingAnnotation;vtkImagingColor;vtkRenderingVolume;vtkViewsCore;vtkproj4;vtkgl2ps;vtkGUISupportQt;vtkGUISupportQtOpenGL;vtkImagingMath;vtkImagingMorphological;vtkImagingStatistics;vtkImagingStencil;vtkInteractionImage;vtkIOAMR;vtkIOEnSight;vtkIOExodus;vtkIOExport;vtkRenderingGL2PS;vtkIOImport;vtkIOInfovis;vtklibxml2;vtkIOLSDyna;vtkIOMINC;vtkIOMovie;vtkoggtheora;vtkIONetCDF;vtkIOParallel;vtkIOPLY;vtkIOSQL;vtksqlite;vtkIOVideo;vtkRenderingFreeTypeOpenGL;vtkRenderingHybridOpenGL;vtkRenderingImage;vtkRenderingLabel;vtkRenderingLOD;vtkRenderingVolumeAMR;vtkRenderingVolumeOpenGL;vtkViewsContext2D;vtkViewsGeovis;vtkViewsInfovis
请注意,
vtkCommon
vtkHybrid
不再在命名列表中,因为它已被重新组织,因此您需要调整链接的库。

试试这个

static 
{
vtkNativeLibrary.LoadAllNativeLibraries();//Try to load all library
} 
用于更轻松地加载本机库的类

而不是通常

static {

//System.loadLibrary("vtkCommonJava");
//System.loadLibrary("vtkFilteringJava");
//System.loadLibrary("vtkIOJava");
//System.loadLibrary("vtkImagingJava");
 //System.loadLibrary("vtkGraphicsJava");
//System.loadLibrary("vtkRenderingJava");

}
这仅适用于较旧版本的VTK,而不适用于VTK6版本