[Insight-users] Linking error with use of itkImageToVTKImageFilter
?
Karthik Krishnan
Karthik.Krishnan at kitware.com
Mon May 30 13:40:49 EDT 2005
I can see from the linker errors that you are clearly not linking
against vtkRendering.
Are you sure that the # in the CMakeLists.txt is not commenting it out..
The # comments out everything on that line
thanks
karthik
syssboxx-reg at yahoo.fr wrote:
> Hi
>
> Here is my CMakelist.txt:
>
> PROJECT( segex )
>
> # Find the ITK and VTK libraries
>
> FIND_PACKAGE(ITK)
> IF(ITK_FOUND)
>
> INCLUDE(${ITK_USE_FILE})
> ELSE(ITK_FOUND)
>
> MESSAGE(FATAL_ERROR "Cannot build without ITK. Please set ITK_DIR.")
> ENDIF(ITK_FOUND)
>
> FIND_PACKAGE(VTK)
> IF (VTK_FOUND)
>
> INCLUDE (${VTK_USE_FILE})
> ELSE(VTK_FOUND)
>
> MESSAGE(FATAL_ERROR
> "Cannot build without ITK. Please set VTK_DIR.")
> ENDIF(VTK_FOUND)
>
> ADD_EXECUTABLE(segex segex.cpp)
>
> # Optionally use vtkPatented libs (for Contouring/Marching Cubes)
>
> TARGET_LINK_LIBRARIES(segex ITKCommon ITKIO ITKBasicFilters vtkCommon
> vtkImaging vtkGraphics vtkIO vtkFiltering #vtkPatented # vtkHybrid
> vtkRendering))
>
> and here is my program :
>
>
> #include <string>
>
> #include <itkImage.h>
>
> #include <itkImageFileReader.h>
>
> #include <itkImageFileWriter.h>
>
> #include <itkFixedArray.h>
>
> #include <itkFlipImageFilter.h>
>
> #include <itkDiscreteGaussianImageFilter.h>
>
> #include <itkThresholdImageFilter.h>
>
> #include <vtkImageShiftScale.h>
>
> #include <vtkImageActor.h>
>
> #include <vtkRenderer.h>
>
> #include <vtkRenderWindow.h>
>
> #include <vtkRenderWindowInteractor.h>
>
> #include <vtkInteractorStyleImage.h>
>
> #include "itkImageToVTKImageFilter.h"
>
> int main( int argc, char* argv[] ) {
>
> std::string filename( "images/stem.jpg" );
>
> int threshold = 100;
>
> if ( argc > 1 ) {
>
> std::string ftmp( argv[1] );
>
> filename = ftmp;
>
> }
>
> if ( argc > 2 ){
>
> threshold = atoi( argv[2] );
>
> }
>
> const unsigned int TwoD = 2;
>
> typedef unsigned char ImagePixelType;
>
> typedef itk::Image< ImagePixelType, TwoD > InputImageType;
>
>
>
> typedef itk::ImageFileReader< InputImageType > ReaderType;
>
> ReaderType::Pointer reader = ReaderType::New();
>
> reader->SetFileName( filename.c_str() );
>
> reader->Update();
>
>
>
> typedef itk::ThresholdImageFilter<
>
> InputImageType > SegmentFilterType;
>
> SegmentFilterType::Pointer segmenter = SegmentFilterType::New();
>
> segmenter->SetInput( reader->GetOutput() );
>
> segmenter->SetOutsideValue( 0 );
>
> segmenter->ThresholdBelow( threshold );
>
> segmenter->Update();
>
>
>
> typedef itk::ImageFileWriter< InputImageType > WriterType;
>
> WriterType::Pointer writer = WriterType::New();
>
> writer->SetInput( segmenter->GetOutput() );
>
> writer->SetFileName( "images/stem_out.jpg" );
>
> writer->Update();
>
>
>
> // Show segmentation result (connect ITK -> VTK)
>
> typedef itk::ImageToVTKImageFilter< InputImageType > ImageToVTKType;
>
> ImageToVTKType::Pointer bridge = ImageToVTKType::New();
>
> bridge->SetInput( segmenter->GetOutput() );
>
> vtkImageActor* actor = vtkImageActor::New();
>
> actor->SetInput( bridge->GetOutput() );
>
> actor->InterpolateOff();
>
> vtkRenderer* ren = vtkRenderer::New();
>
> ren->SetBackground( 0.4392, 0.5020, 0.5647 );
>
> ren->AddActor( actor );
>
> vtkRenderWindow* renwin = vtkRenderWindow::New();
>
> renwin->AddRenderer( ren );
>
> vtkRenderWindowInteractor* iren = vtkRenderWindowInteractor::New();
>
> iren->SetRenderWindow( renwin );
>
> iren->Initialize();
>
> vtkInteractorStyleImage* style = vtkInteractorStyleImage::New();
>
> iren->SetInteractorStyle( style );
>
>
>
> iren->Start();
>
> style->Delete();
>
> iren->Delete();
>
> renwin->Delete();
>
> ren->Delete();
>
> actor->Delete();
>
> return( 0 );
>
> }
>
> Any advices?
>
> Stanislava Ivanova
>
> */Karthik Krishnan <Karthik.Krishnan at kitware.com>/* a écrit :
>
> Please post your CMakeLists.txt file and if possible a minimal
> example.
> It looks like you are not linking against some VTK libraries. If
> you are
> not certain, for now add all the libraries to see if it compiles
> TARGET_LINK_LIBRARIES( ProjectFoo vtkIO vtkCommon vtkHybrid
> vtkRendering
> vtkImaging ITKCommon ITKBasicFilters ITKNumerics ITKAlgorithms ITKIO)
>
> thanks
> karthik
>
> syssboxx-reg at yahoo.fr wrote:
>
> >Hi Luis;
> >
> >I was thinking that the cause of my linking problems
> >when using itkImageToVTKImageFilter was my
> >installation.Now i reinstalled VTK and i try to build
> >all above Visual Studio 7.NET 2003 but it's the same.
> >I really can't find the problem.Is anybody else have a
> >problems with itkImageToVTKImageFilter?Or not could
> >you help me to make it work correctly?
> >
> >
> >--- Lui! s Ibanez a écrit:
> >
> >
> >>Hi Stanislava,
> >>
> >>You are missing to link with some VTK libraries.
> >>
> >>Please post the CMakeLists.txt file of your project
> >>and let us konw what version of VTK you are using.
> >>
> >>
> >> Thanks
> >>
> >>
> >> Luis
> >>
> >>
> >>
> >>-----------------------------------
> >>syssboxx-reg at yahoo.fr wrote:
> >>
> >>
> >>
> >>>Hi all,
> >>>I'm not very experienced with both itk and vtk,for
> >>>
> >>>
> >>the moment i was
> >>
> >>
> >>>making some processing with itk and saving the
> >>>
> >>>
> >>output to a file.Now I
> >>
> >>
> >>>want to make my algorithme with 3d images so I try
> >>>
> >>>
> >>to use vtk.I list! ened
> >>
> >>
> >>>some posting about itkImageToVTKImageFilter and
> >>>
> >>>
> >>the ways to connect itk
> >>
> >>
> >>>and vtk ( i use one example which read,segment a
> >>>
> >>>
> >>2d image,write it and
> >>
> >>
> >>>show it in vtk . Now my program find the header
> >>>
> >>>
> >>but gives me some
> >>
> >>
> >>>errors.Could someone tell me how to solve this
> >>>
> >>>
> >>problem please. I list
> >>
> >>
> >>>bellow the errors:
> >>>Thanks
> >>>
> >>>--------------------Configuration: segex - Win32
> >>>RelWithDebInfo--------------------
> >>>Compiling...
> >>>segex.cpp.cxx
> >>>Linking...
> >>> Creating library RelWithDebInfo/segex.lib and
> >>! ;>
> >>>
> >>object
> >>
> >>
> >>>RelWithDebInfo/segex.exp
> >>>segex.cpp.obj : error LNK2001: unresolved external
> >>>
> >>>
> >>symbol "public:
> >>
> >>
> >>>static class vtkInteractorStyleImage * __cdecl
> >>>vtkInteractorStyleImage::New(void)"
> >>>(?New at vtkInteractorStyleImage@@SAPAV1 at XZ
> >>>)
> >>>segex.cpp.obj : error LNK2001: unresolved external
> >>>
> >>>
> >>symbol "public: void
> >>
> >>
> >>>__thiscall
> >>>
> >>>
> >>vtkRenderWindowInteractor::SetRenderWindow(class
> >>
> >>
> >>>vtkRenderWindow *)"
> >>>
> >>>
> >>>
> >(?SetRenderWindow at vtkRenderWindowInteractor@@QAEXPAVvtkRenderWindow@@@Z
> >
> >
> >)
> >
> >
> >>>segex.cpp.obj : error LNK2001: unresolved external
> >>>
> >>>
> >>symbol "public:
> >>
> >>
> >>>static class vtkRenderWindowInteractor * __cdecl
> >>>vtkRenderWindowInteractor::New(void)"
> >>>(?New at vtkRenderWindowInteractor@@SAPAV1 at XZ
> >>>
> >>>
> >>>
> >>)
> >>
> >>
> >>>segex.cpp.obj : error LNK2001: unresolved external
> >>>
> >>>
> >>symbol "public:
> >>
> >>
> >>>static class vtkRenderWindow * __cdecl
> >>>
> >>>
> >>vtkRenderWindow::New(void)"
> >>
> >>
> >>>(?New at vtkRenderWindow@@SAPAV1 at XZ
> >>>
> >>>
> >>)
> >>
> >>
> >>>segex.cpp.obj : error LNK2001: unresolved external
> >>>
> >>>
> >>symbol "public:
> >>
> >>
> >>>static class vtkRenderer * __cdecl
> >>>
> >>>
> >>vtkRenderer::New(void)"
> >>
> >>
> >>>(?New at vtkRenderer@@SAPAV1 at XZ
> >>>
> >>>
> >>)
> >>
> >>
> >>>segex.cpp.obj : error LNK2001: unresolved external
> >>>
> >>>
> >>symbol "public:
> >>
> >>
> >>>static class vtkImageActor * __cdecl
> >>>
> >>>
> >>vtkImageActor::New(void)"
> >>
> >>
> >>>(?New at vtkImageActor@@SAPAV1 at XZ
> >>>
> >>>
> >>)
> >>
> >>
> >>>RelWithDebInfo/segex.exe : fatal error LNK1120: 6
> >>>
> >>>
> >>unresolved externals
> >>
> >>
> >>>Error executing link.exe.
> >>>ALL_BUILD - 7 error(s), 0 warning(s)
> >>>
> >>>Stanislava Ivanova
> >>>
> >>>
> >>>
> >>>
> >------------------------------------------------------------------------
> >
> >
> >>>Découvrez le nouveau Yahoo! Mail : 1 Go d'espace
> >>>
> >>>
> >>de stockage pour vos
> >>
> >>
> >>>mails, photos et vidéos !
> >>>Créez votre Yahoo! Mail
> >>>
> >>>
> >>>
> >
> >
> >
> >>>
> >>>
> >>>
> >>>
> >------------------------------------------------------------------------
> >
> >
> >>>_______________________________________________
> >>>Insight-users mailing list
> >>>Insight-users at itk.org
> >>>http://www.itk.org/mailman/listinfo/insight-users
> >>>
> >>>
> >>
> >>
> >>
> >>
> >
> >
> >
> >
> >
> >___________________________________________________________________________
> >Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo!
> Messenger
> >Téléchargez cette version sur http://fr.messenger.yahoo.com
> >_______________________________________________
> >Insight-users mailing list
> >Insight-users at itk.org
> >http://www.itk.org/mailman/listinfo/insight-users
> >
> >
> >
>
> ------------------------------------------------------------------------
> *Appel audio GRATUIT partout dans le monde* avec le nouveau Yahoo!
> Messenger
> Téléchargez le ici !
> <http://us.rd.yahoo.com/messenger/mail_taglines/yahoofr/*http://fr.messenger.yahoo.com>
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Insight-users mailing list
>Insight-users at itk.org
>http://www.itk.org/mailman/listinfo/insight-users
>
>
More information about the Insight-users
mailing list