|
|
|
|||||
|
Validate.cpp doesn't compile against xerces 2.2.0
Hi,
Yes, I realize that the install guide specified xerces 2.1.0, but if I'm going to be downloading 6MB, I'll be getting the latest ![]() Also, this might not be due to the version difference, but the way your xerces is configured compared to mine. Anyway, the problem is that in my xerces build, namespaces are required for all xerces types. This means that src/slice2xsd/Validate.cpp will currently fail to build. What I did was to put "XERCES_CPP_NAMESPACE_USE" one line beneath "using namespace std;". This is a xerces macro that expands to the correct "using namespace" statement for xerces, but only if xerces was configured to use namespaces. It built okay after that! This is on SuSE 8.0, on a Pentium box, with gcc 3.2.1. Here's the first part of the compiler error report: Code:
c++ -c -I. -I../../include -I/home/derekt/e2fsprogs-1.32/lib -g -ftemplate-depth-128 -fPIC -Wall Validate.cpp
Validate.cpp: In function `std::string toString(const XMLCh*)':
Validate.cpp:36: `XMLString' undeclared (first use this function)
Validate.cpp:36: (Each undeclared identifier is reported only once for each
function it appears in.)
Validate.cpp:36: parse error before `::' token
Validate.cpp: At global scope:
Validate.cpp:43: parse error before `{' token
Validate.cpp:51: parse error before `&' token
Regards, Derek. PS. I am not a crackpot! |
|
|||||
|
Quote:
Shouldn't the namespace fix just go into the cpp files, not the header files? Otherwise the headers have a side effect. -apm
__________________
You are in a maze of twisty little passages, all different. |
|
|||||
|
Quote:
The *best* way would be to fully qualify every single xerces identifer used in a header, but I just don't have time right now, and it's not going to affect my mucking about. I just wanted to build it! I'll leave such niceties to the good people at ZeroC ![]() In short, stick to xerces 2.1.0 for now. I just like being on the bleeding edge ![]() Regards, Derek. |
|
||||||
|
Quote:
|
|
|||||
|
Yes it works now, but the Make.rules file is a bit mis-leading on this. The standard place to find Xerces-c is the directory pointed to by the XERCESCROOT environment variable. A comment in the Make.rules file to say that this is not used might help.
|
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| linktime error from xerces 2.1 | marlowa | Help Center | 4 | 02-28-2003 11:05 AM |