Hello All,
SYMPTOMS:
Once in a while while compiling you got:
%INSTALL_PATH%\Vc7\include\cgicc\HTMLClasses.h(185): error C2065: 'smallTag' :
undeclared identifier
%INSTALL_PATH%\Vc7\include\cgicc\HTMLClasses.h(185): error C2628:
'cgicc::HTMLBooleanElement' followed by 'char' is illegal (did you forget a
';'?)
%INSTALL_PATH%\Vc7\include\cgicc\HTMLClasses.h(185): error C2955:
'cgicc::HTMLBooleanElement' : use of class template requires template argument
list
%INSTALL_PATH%\Vc7\include\cgicc\HTMLBooleanElement.h(184) : see declaration
of 'cgicc::HTMLBooleanElement'
%INSTALL_PATH%\Vc7\include\cgicc\HTMLClasses.h(185): warning C4091: 'typedef '
: ignored on left of 'cgicc::HTMLBooleanElement' when no variable is declared
where line HTMLClasses.h(185) contains:
BOOLEAN_ELEMENT (small, "small"); // small font
BOOLEAN_ELEMENT is defined like:
#define BOOLEAN_ELEMENT(name, tag) \
TAG(name, tag); typedef HTMLBooleanElement<name##Tag> name
and the TAG is:
#define TAG(name, tag) \
class name##Tag \
{ public: inline static const char* getName() { return tag; } }
The error occurs when some part of your project somewhere pulled in
RpcNdr.h (for example if you're using wsocket2):
RpcNdr.h contains
#define small char
and that is the source of all troubles.
This case demonstrates some of CGICC architecture shortcomings (and
RpcNdr.h as well)
WORKAROUND:
In most cases an addition of
#undef small
will solve the problem
--
Best regards,
Igor mailto:[EMAIL PROTECTED]
_______________________________________________
help-cgicc mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-cgicc