I am porting our product from tcl-8.4 to tcl-8.5.12
in new version of tcl there is a macro defined in tclInt.h
#define localName(framePtr, i) \
((&((framePtr)->localCachePtr->varName0))[(i)])
also my product uses Qt-4.7.4. And in qt-4.7.4/include/QtXml/qdom.h there is attribute
QString localName() const;
As a result I am getting error: qt-4.7.4/include/QtXml/qdom.h:165:23: error: macro "localName" requires 2 arguments, but only 1 given
Any suggestions to resolve this imbroglio?
Going to undef macro in tcl. Will see what happens, although, even if it fixes the situation I don't much like that solution.
Thanks in advance
Would using a inline function definition in qt/c++ code help?
inline vartype localName(int* framePtr, int i){
return framePtr->localCachePtr->varName0.at(i);
}
Since it is possible to have more functions of same name but different parameters(count) this should call the correct function and being inline this will replaced at compile time.
Edit: Mhh, i just saw your problem is probably the inverse? You cannot compile because localName(Something) always calls the macro. You definitly will have to remove the macro, but using it as inline function call will hopefully solve the problem.