What steps will reproduce the problem?
1. Download and build Tcl 8.6b1
2. Build ITK with WrapITK turned on
3. Hilarity ensues, where by 'hilarity' I mean 'compiler errors'
What version of the product are you using? On what operating system?
I'm using ITK 3.18 release. On OS X 10.6
Please provide any additional information below.
To use 64-bit builds on OS X, you can't use the Carbon libraries, which are
32-bit only.
So if you want to do ITK + WrapITK, + TCL + Native TK, you must use TK 8.6 and
therefore TCL 8.6.
The only visible problem with using 8.6b1 Tcl is that by default, the members
of the Tcl_Interp structure are no longer visible by default in the public
header. This patch fixes the problem:
Index: Wrapping/WrapITK/Tcl/itkTclCommand.cxx
===================================================================
RCS file: /cvsroot/Insight/Insight/Wrapping/WrapITK/Tcl/itkTclCommand.cxx,v
retrieving revision 1.1
diff -c -r1.1 itkTclCommand.cxx
*** Wrapping/WrapITK/Tcl/itkTclCommand.cxx 6 Sep 2006 20:58:42 -0000 1.1
--- Wrapping/WrapITK/Tcl/itkTclCommand.cxx 9 Jun 2010 14:50:54 -0000
***************
*** 88,96 ****
--- 88,104 ----
{
const char* errorInfo = Tcl_GetVar(m_Interpreter, "errorInfo", 0);
if(!errorInfo) { errorInfo = ""; }
+ #if (TCL_MAJOR_VERSION == 8) && (TCL_MINOR_VERSION < 6)
itkWarningMacro("Error returned from itk/tcl callback:\n" <<
m_CommandString.c_str() << std::endl << errorInfo <<
" at line number " << m_Interpreter->errorLine);
+ #else
+ itkWarningMacro("Error returned from itk/tcl callback:\n"
+ << m_CommandString.c_str()
+ << std::endl << errorInfo
+ << " at line number "
+ << Tcl_GetErrorLine(m_Interpreter));
+ #endif
}
}
Original issue reported on code.google.com by chaircru...@gmail.com on 9 Jun 2010 at 3:54
Original issue reported on code.google.com by
chaircru...@gmail.com
on 9 Jun 2010 at 3:54