[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[help-cgicc] a note about building cgi-3.2.2 under RH7.3 (and gcc 2.96)
From: |
g.p.ciceri |
Subject: |
[help-cgicc] a note about building cgi-3.2.2 under RH7.3 (and gcc 2.96) |
Date: |
Wed, 13 Aug 2003 11:29:15 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3) Gecko/20030312 |
Hello all,
I've tried to build cgicc under Redhat 7.3
(with the old compiler gcc 2.96).
I take the following error
---
g++ -DHAVE_CONFIG_H -I. -I. -I. -I.. -I.. -Wall -W -pedantic -g -O2
-MT CgiEnvironment.lo -MD -MP -MF .deps/CgiEnvironment.Tpo -c
CgiEnvironment.cpp -fPIC -DPIC -o .libs/CgiEnvironment.o
CgiEnvironment.cpp: In method `void cgicc::CgiEnvironment::parseCookie
(const string &)':
CgiEnvironment.cpp:141: parse error before `__ctype_b'
CgiEnvironment.cpp:141: parse error before `]'
CgiEnvironment.cpp:149: confused by earlier errors, bailing out
make[2]: *** [CgiEnvironment.lo] Error 1
---
Googling here and there, I've found a note:
http://gcc.gnu.org/onlinedocs/libstdc++/17_intro/porting-howto.html
stating issues for Libc-macros and old implementations of libstdc++
(like the one in g++ 2.96). One proposed solution was not to use
<cctype> and std:: namespace but revert to the C <ctype.h>.
So I've switched for gcc 2.x to the C
behaviour with some #if... #endif in two places.
First, to select the right include
(CgiEnvironment.cpp, about row 26)
---
#if (__GNUG__ == 2)
// for old g++ v2.96, we use ctype.h
# include <ctype.h>
#else
# include <cctype>
#endif
---
Second, to choose the right isspace call
(CgiEnvironment.cpp, about row 141)
---
#if (__GNUG__ == 2)
// for old g++ v2.96, we use ctype.h
if(isspace(*data_iter) == 0)
#else
if(sdt::isspace(*data_iter) == 0)
#endif
---
Now all seems to build well. Demos run.
I've not tested back on gcc 3.x, however.
Any remark will be appreciated.
HTH
Regards
/gp
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [help-cgicc] a note about building cgi-3.2.2 under RH7.3 (and gcc 2.96),
g.p.ciceri <=