help-cgicc
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]