[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[help-cgicc] CGICC smallTag bug
From: |
Igor |
Subject: |
[help-cgicc] CGICC smallTag bug |
Date: |
Fri, 23 Jun 2006 16:01:08 +0400 |
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:address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [help-cgicc] CGICC smallTag bug,
Igor <=