[vtkusers] Compile error on Linux

Kevin Teich kteich at cortechs.net
Wed Jan 2 13:30:51 EST 2002


I'm getting the following error while compiling vtkImageReslice.cxx (path
names shortened for readability):

.../VTK/Imaging/vtkImageReslice.cxx:  In function `void
vtkGetResliceInterpFunc<float>(class vtkImageReslice *, int (**)(void *&,
const void *, const int *, const int *, int, const float *, int, const
void *))':

.../VTK/Imaging/vtkImageReslice.cxx:1708:  instantiated from here

.../VTK/Imaging/vtkImageReslice.cxx:1449:  conversion from `int (**)(void
*&, const void *, const int *, const int *, int, const float *, int, const
void *)' to non-scalar type `{error}' requested

.../VTK/Imaging/vtkImageReslice.cxx:1449:  sorry, not implemented: use of
`popdcc_expr' in template

.../VTK/Imaging/vtkImageReslice.cxx:1449:  confused by earlier errors,
bailing out

It looks like my compiler is confused at this bit of code. It's a template
function that takes a template function as a parameter, and a big macro
is used in the function to typecast the template function pointer. Whew! I
factored out the macro by inserting the code manually, but it still
doesn't seem to like the double template functions (and, in fact, results
in a different error about an internal compiler problem). That reference
to popdcc_expr is odd, too.

I am using gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release). I
know it's not the latest version, but I need to stay in sync with the rest
of my development group. However, if there's no other solution than to
use the latest gcc, I can do so.

I am using the latest VTK code from the CVS server.

-- 
Kevin Teich





More information about the vtkusers mailing list