From: <5k...@in...> - 2011-06-17 18:44:46
|
Hi everyone, I work on a program that uses swig (which I know nearly nothing of), namely CDG[1]. When we want to compile the program, we get the following error: | cdgtypemaps.i:34: Error: Can't copy typemap (out) SWIGTYPE NOINSTANCE = SWIGTYPE When running make the second time, everything works fine. With really old versions of swig, this error doesn't occur. If I remove the following line | %typemap(out) SWIGTYPE = SWIGTYPE NOINSTANCE; everything works fine on the first run. My only problem is: I really don't know what this line means, only that it's from 2003 and should "enable compilation with swig >1.3.x" according to the commit message. So, what does this line do? I was unable to find information about this. For completeness, I've quoted the whole file below: | typedef double Number; | | #ifdef SWIGPERL5 | %typemap(in) SWIGTYPE *, SWIGTYPE [], SWIGTYPE & { | SWIG_ConvertPtr($input, (void **) &$1, $1_descriptor, 0); | /* ignore type check */ | }; | #endif | | #ifdef SWIGTCL | %typemap(in) SWIGTYPE *, SWIGTYPE &, SWIGTYPE [] { | /* ignore type check */ | #ifdef OLD_SWIG | SWIG_ConvertPtr(interp, $input, (void **) &$1, $1_descriptor, $disown); | #else | SWIG_ConvertPtr($input, (void **) &$1, $1_descriptor, $disown); | #endif | }; | | %typemap(out) SWIGTYPE = SWIGTYPE NOINSTANCE; | | #endif Greetings, Arne [1]: https://nats-www.informatik.uni-hamburg.de/view/CDG/WebHome |