Domanda

I changed to VTK-6 and now I can not compile anymore due to library not found..With vtk-5 it works perfectly fine.

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

Any idea what they changed?

È stato utile?

Soluzione

It seems like the component libraries have changed in VTK 6: see their wiki page for some details. For example, after configuring to link everything in VTK with cmake, the VTK_LIBRARIES variable is set with the following list of libraries to be linked:

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

And note that vtkCommon and vtkHybrid are no longer on the named list because it's been re-organized, so you'll need to adjust what libraries you link.

Altri suggerimenti

Try This.

static 
{
vtkNativeLibrary.LoadAllNativeLibraries();//Try to load all library
} 

The vtkNativeLibrary class used to load native library more easily.

rather than usual

static {

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

}

that works only with older version of VTK and not VTK6 versions

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top