You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by Jonathan Pierce <jp...@nyc.rr.com> on 2001/02/03 08:27:49 UTC

Bugs and Compile Problems in 1.4.0

All,

I just downloaded my first version of Xerces-C 1.4.0 and tried to build it with my favorite non-standard compiler. I encountered several compile problems that identified what I believe are errors in the source distribution. Since I am using a non-standard compiler, my make process is more sensitive to issues that may be hidden by the supported compiler list. If anyone cares, I am using CodeWarrior 6 on Windows.

Here are the changes that I needed to make to the code to get it to compile.

1. There were some references to strings.h and memory.h in the platform independant source tree.
These includes should be moved to the platform specific build files or the sources moved to platform specific directories.

1.1 #include <strings.h> should be removed from /src/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp
1.2 #include <memory.h> should be removed from /src/validators/DTD/CMStateSet.hpp

2. The class name in /src/dom/MemDebug.hpp is in the wrong case on line 77
//class DomMemDebug
class DOMMemDebug

3. . I made the following changes to: /src/dom/NameNodeFilter.hpp
3.1 The /src/dom/NameNodeFilter.hpp includes non-existent file: "NodeFilterImpl.hpp" so I had to remove it.
3.2 I also had to redefine the class to not include the non-existent superclass interface.

class CDOM_EXPORT NameNodeFilter 
 // : public NodeFilterImpl

4. Many of the .hpp files were missing the required /src/util/XercesDefs.hpp include file so I had to add it since they may refer to #defines such as XMLPARSER_EXPORT before they have been defined. The build process should not depend on specifying a precompiled header to be included in all files.

I needed to add #include <util/XercesDefs.hpp> to the following files:

4.1 /src/framework/XMLPScanToken.hpp
4.2 /src/framework/XMLRecognizer.hpp
4.3 /src/internal/CharTypeTables.hpp
4.4 /src/internal/EndOfEntityException.hpp
4.5 /src/sax/DTDHandler.hpp
4.5 /src/sax/DTDHandler.hpp
4.5 /src/sax/DTDHandler.hpp

5. I needed to explicitly include /util/XMLString.hpp in /src/framework/XMLRefInfo.hpp since it references XMLString::replicate

6. I made the following changes to: /src/util/Compilers/CodeWarriorDefs.hpp

6.1 Added #define XML_LSTRSUPPORT
6.2 Added #define XERCES_TMPLSINC
6.3 Needed to change the following line so I could precompile the header.

//const char* const Xerces_DLLName = "xerces-c" Xerces_DLLVersionStr;
#define Xerces_DLLName = "xerces-c" + Xerces_DLLVersionStr

7.