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 bu...@apache.org on 2003/12/07 04:27:56 UTC

DO NOT REPLY [Bug 25265] New: - Compilation failure with Xerces-2.4.0 and STLPort-4.5.3 with VC6

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25265>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25265

Compilation failure with Xerces-2.4.0 and STLPort-4.5.3 with VC6

           Summary: Compilation failure with Xerces-2.4.0 and STLPort-4.5.3
                    with VC6
           Product: Xerces-C++
           Version: 2.4.0
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Build
        AssignedTo: xerces-c-dev@xml.apache.org
        ReportedBy: kitty@isis.vanderbilt.edu


I am trying to compile Xerces-C++ 2.4.0 with the STLPort-4.5.3 headers. I am
using Microsoft Visual C++ 6.0 SP5. I get a compilation failure when compiling
src/xercesc/framework/StdOutFormatTarget.cpp. I am able to compile Xerces-2.2.0
and Xerces-2.3.0 without any problems on the same machine. It would be nice if I
could use Xerces-2.4.0 instead of 2.3.0 as this is a new project, and I also see
that a lot of bugs have been fixed between 2.3.0 and 2.4.0. The compilation
error is attached separately. AFAICT, the only difference in this file between
2.4.0 and 2.3.0 is as follows:

cd d:/Packages/xerces-c-src2_4_0/src/xercesc/framework/
diff -ubBw
"d:/Packages/xerces-c-src_2_3_0/src/xercesc/framework/StdOutFormatTarget.cpp"
"d:/Packages/xerces-c-src2_4_0/src/xercesc/framework/StdOutFormatTarget.cpp"
--- d:/Packages/xerces-c-src_2_3_0/src/xercesc/framework/StdOutFormatTarget.cpp
Tue May 27 12:04:46 2003
+++ d:/Packages/xerces-c-src2_4_0/src/xercesc/framework/StdOutFormatTarget.cpp
Tue Dec  2 15:11:02 2003
@@ -55,8 +55,11 @@
  */
 
 /*
- * $Id: StdOutFormatTarget.cpp,v 1.6 2003/01/24 20:20:22 tng Exp $
+ * $Id: StdOutFormatTarget.cpp,v 1.7 2003/05/29 11:18:37 gareth Exp $
  * $Log: StdOutFormatTarget.cpp,v $
+ * Revision 1.7  2003/05/29 11:18:37  gareth
+ * Added macros in so we can determine whether to do things like iostream as
opposed to iostream.h and whether to use std:: or not.
+ *
  * Revision 1.6  2003/01/24 20:20:22  tng
  * Add method flush to XMLFormatTarget
  *
@@ -80,7 +83,12 @@
  */
 
 #include <xercesc/framework/StdOutFormatTarget.hpp>
+
+#if defined(XERCES_NEW_IOSTREAMS)
+#include <iostream>
+#else
 #include <iostream.h>
+#endif
 
 XERCES_CPP_NAMESPACE_BEGIN
 
@@ -92,7 +100,7 @@
 
 void StdOutFormatTarget::flush()
 {
-    cout.flush();
+    XERCES_STD_QUALIFIER cout.flush();
 }
 
 void StdOutFormatTarget::writeChars(const XMLByte* const  toWrite
@@ -104,8 +112,8 @@
         // Without the cast, it was printing the pointer value in hex.
         // Quite annoying, considering every other platform printed
         // the string with the explicit cast to char* below.
-    cout.write((char *) toWrite, (int) count);
-    cout.flush();
+    XERCES_STD_QUALIFIER cout.write((char *) toWrite, (int) count);
+    XERCES_STD_QUALIFIER cout.flush();
 
 }
 

Diff finished at Sat Dec 06 21:10:34

I have tried commenting out the guard

#if _MSC_VER > 1300
#define XERCES_NEW_IOSTREAMS
#define XERCES_STD_NAMESPACE
#endif

in src/xercesc/utils/Compilers/VCPPDefs.cpp. But that didn't make any
difference. It seems that one of the files included by this file may be the
culprit. Any help in resolving this problem would be very helpful.

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org