[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