[vtkusers] unresolved external

Amy Henderson amy.henderson at kitware.com
Fri Mar 5 14:01:28 EST 2004


Radim,

Did you link against the vtkHybrid library?

- Amy

At 01:54 PM 3/5/2004, =?iso-8859-2?B?UmFkaW0gS29s4fg=?= wrote:
>Please help me with this:
>I get these error messages, when I'm linking application under Borland.
>
>   [Linker Error] Unresolved external 'vtkThinPlateSplineTransform::New()' 
> referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\WARP\UNIT1.OBJ
>   [Linker Error] Unresolved external 
> 'vtkThinPlateSplineTransform::SetSourceLandmarks(vtkPoints *)' referenced 
> from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\WARP\UNIT1.OBJ
>   [Linker Error] Unresolved external 
> 'vtkThinPlateSplineTransform::SetTargetLandmarks(vtkPoints *)' referenced 
> from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\WARP\UNIT1.OBJ
>   [Linker Error] Unresolved external 
> 'vtkThinPlateSplineTransform::SetBasis(int)' referenced from C:\PROGRAM 
> FILES\BORLAND\CBUILDER6\PROJECTS\WARP\UNIT1.OBJ
>   [Linker Error] Unresolved external 'vtkTransformToGrid::New()' 
> referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\WARP\UNIT1.OBJ
>   [Linker Error] Unresolved external 'vtkGridTransform::New()' referenced 
> from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\WARP\UNIT1.OBJ
>   [Linker Error] Unresolved external 
> 'vtkGridTransform::SetInterpolationMode(int)' referenced from C:\PROGRAM 
> FILES\BORLAND\CBUILDER6\PROJECTS\WARP\UNIT1.OBJ
>Where is the problem please?
>Thanks, Radim
>
>Here is my simple code:
>
>//---------------------------------------------------------------------------
>#include "vtkPolyData.h"
>#include "vtkTransform.h"
>#include "vtkTransformPolyDataFilter.h"
>#include "vtkWarpScalar.h"
>#include "vtkBMPReader.h"
>#include "vtkImageReslice.h"
>#include "vtkGridTransform.h"
>#include "vtkTransformToGrid.h"
>#include "vtkThinPlateSplineTransform.h"
>#include "vtkPoints.h"
>#include "vtkImageBlend.h"
>#include "vtkImageMapToColors.h"
>#include "vtkLookupTable.h"
>#include "vtkImageGridSource.h"
>#include "vtkImageViewer.h"
>
>#include <stdio.h>
>#include <vcl.h>
>#pragma hdrstop
>
>//---------------------------------------------------------------------------
>
>#pragma argsused
>int main(int argc, char* argv[])
>{
>         //# first, create an image to warp
>         vtkImageGridSource *imageGrid = vtkImageGridSource::New();
>                 imageGrid->SetGridSpacing( 16, 16, 0);
>                 imageGrid->SetGridOrigin( 0, 0, 0 );
>                 imageGrid->SetDataExtent( 0, 255, 0, 255, 0, 0);
>                 imageGrid->SetDataScalarTypeToUnsignedChar();
>
>         vtkLookupTable *table = vtkLookupTable::New();
>                 table->SetTableRange( 0, 1 );
>                 table->SetValueRange( 1.0, 0.0);
>                 table->SetSaturationRange( 0.0, 0.0);
>                 table->SetHueRange( 0.0, 0.0 );
>                 table->SetAlphaRange( 0.0, 1.0 );
>                 table->Build();
>
>         vtkImageMapToColors *alpha = vtkImageMapToColors::New();
>                 alpha->SetInput( imageGrid->GetOutput() );
>                 alpha->SetLookupTable( table );
>
>         vtkBMPReader *reader1 = vtkBMPReader::New();
>                 reader1->SetFileName( 
> "c:/Data/Retina/3D/105939/L/105939l000.bmp" );
>
>         vtkImageBlend *blend = vtkImageBlend::New();
>                 blend->SetInput( 0, reader1->GetOutput() );
>                 blend->SetInput( 1, alpha->GetOutput() );
>
>//# next, create a ThinPlateSpline transform
>
>         vtkPoints *p1=vtkPoints::New();
>                 p1->SetNumberOfPoints( 8 );
>                 p1->SetPoint( 0, 0, 0, 0 );
>                 p1->SetPoint( 1, 0, 255, 0);
>                 p1->SetPoint( 2, 255, 0, 0 );
>                 p1->SetPoint( 3, 255, 255, 0 );
>                 p1->SetPoint( 4, 96, 96, 0 );
>                 p1->SetPoint( 5, 96, 159, 0 );
>                 p1->SetPoint( 6, 159, 159, 0 );
>                 p1->SetPoint( 7, 159, 96, 0 );
>
>         vtkPoints *p2=vtkPoints::New();
>                 p2->SetNumberOfPoints( 8 );
>                 p2->SetPoint( 0, 0, 0, 0 );
>                 p2->SetPoint( 1, 0, 255, 0);
>                 p2->SetPoint( 2, 255, 0, 0 );
>                 p2->SetPoint( 3, 255, 255, 0 );
>                 p2->SetPoint( 7, 96, 96, 0 );
>                 p2->SetPoint( 5, 96, 159, 0 );
>                 p2->SetPoint( 5, 159, 159, 0 );
>                 p2->SetPoint( 6, 159, 96, 0 );
>
>
>         vtkThinPlateSplineTransform *thinPlate = 
> vtkThinPlateSplineTransform::New();
>                 thinPlate->SetSourceLandmarks( p2 );
>                 thinPlate->SetTargetLandmarks( p1 );
>                 thinPlate->SetBasisToR2LogR();
>
>//# convert the thin plate spline into a grid
>
>         vtkTransformToGrid *transformToGrid = vtkTransformToGrid::New();
>                 transformToGrid->SetInput( thinPlate );
>                 transformToGrid->SetGridSpacing( 16, 16, 1 );
>                 transformToGrid->SetGridOrigin( -0.5, -0.5, 0 );
>                 transformToGrid->SetGridExtent(0, 16, 0, 16, 0, 0);
>
>         vtkGridTransform *transform = vtkGridTransform::New();
>                 transform->SetDisplacementGrid( 
> transformToGrid->GetOutput() );
>                 transform->SetInterpolationModeToCubic();
>
>         //# you must invert the transform before passing it to 
> vtkImageReslice
>         transform->Inverse();
>
>//# apply the grid warp to the image
>
>         vtkImageReslice *reslice = vtkImageReslice::New();
>                 reslice->SetInput( blend->GetOutput() );
>                 reslice->SetResliceTransform( transform );
>                 reslice->SetInterpolationModeToLinear();
>
>//# set the window/level to 255.0/127.5 to view full range
>         vtkImageViewer *viewer = vtkImageViewer::New();
>                 viewer->SetInput( reslice->GetOutput() );
>                 viewer->SetColorWindow( 255.0 );
>                 viewer->SetColorLevel( 127.5 );
>                 viewer->SetZSlice( 0 );
>                 viewer->Render();
>         getchar();
>
>
>         return 0;
>}
>//---------------------------------------------------------------------------
>
>
>======================================================
>Department of Biomedical Engineering
>Faculty of Electrical Engineering and Communication
>Brno University of Technology
>Purkynova 118
>61200 Brno, Czech Republic
>tel: 541 149 551
>fax: 541 149 542
>mail: <mailto:kolarr at feec.vutbr.cz>kolarr at feec.vutbr.cz
>Visit BIOSIGNAL 2004 web site: 
><http://www.feec.vutbr.cz/UBMI/bs2004.html>http://www.feec.vutbr.cz/UBMI/bs2004.html
>======================================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20040305/137a59f2/attachment.htm>


More information about the vtkusers mailing list