[vtk-developers] VTK build with tcl/tk

David Gobbi david.gobbi at gmail.com
Sat Apr 9 09:00:19 EDT 2011


It seems that for Tcl 8.6, interp->errorLine has been deprecated and
we should be using Tcl_GetErrorLine(interp) instead.

 - David

On Fri, Apr 8, 2011 at 10:29 PM, Karthik Krishnan
<karthik.krishnan at kitware.com> wrote:
> I get this error when building VTK with tcl wrapping, using the latest
> downloadable tcl/tk. (ActiveState ActiveTcl 8.6.0.0.294318 Beta 5 - Feb 04,
> 2011)
>
> 2>..\..\..\src\VTK\Common\vtkTclUtil.cxx(493) : error C2039: 'errorLine' :
> is not a member of 'Tcl_Interp'
> 2>        C:\Tcl\include\tcl.h(472) : see declaration of 'Tcl_Interp'
>
>
> The code fragment in tcl.h is listed below. Should we be compiling VTK with
> -DUSE_INTERP_ERRORLINE ?
>
>
> typedef struct Tcl_Interp {
>     /* TIP #330: Strongly discourage extensions from using the string
>      * result. */
> #ifdef USE_INTERP_RESULT
>     char *result; /* If the last command returned a string
> * result, this points to it. */
>     void (*freeProc) (char *blockPtr);
> /* Zero means the string result is statically
> * allocated. TCL_DYNAMIC means it was
> * allocated with ckalloc and should be freed
> * with ckfree. Other values give the address
> * of function to invoke to free the result.
> * Tcl_Eval must free it before executing next
> * command. */
> #else
>     char *unused3;
>     void (*unused4) (char *);
> #endif
> #ifdef USE_INTERP_ERRORLINE
>     int errorLine; /* When TCL_ERROR is returned, this gives the
> * line number within the command where the
> * error occurred (1 if first line). */
> #else
>     int unused5;
> #endif
> } Tcl_Interp;
> Thanks
> -
> -karthik



More information about the vtk-developers mailing list