Release build of ActiveMQ-CPP from trunk with Visual Studio 2005 fails due to 
Windows headers include order issue
-----------------------------------------------------------------------------------------------------------------

                 Key: AMQ-1021
                 URL: https://issues.apache.org/activemq/browse/AMQ-1021
             Project: ActiveMQ
          Issue Type: Bug
          Components: CMS (C++ client)
    Affects Versions: 4.0.1
         Environment: Windows
            Reporter: Albert Strasheim


Doing a release build of ActiveMQ-CPP from trunk with Visual Studio 2005 
results in the following error when compiling DataInputStreamTest.cpp:

{quote}
1>------ Build started: Project: vc2005-activemq-unittests, Configuration: 
Release Win32 ------
1>Compiling...
1>DataInputStreamTest.cpp
1>f:\activemq-cpp\src\main\activemq/io/ByteArrayInputStream.h(142) : warning 
C4244: 'return' : conversion from '__w64 int' to 'int', possible loss of data
1>C:\Program Files\Microsoft Platform SDK\Include\Winsock2.h(112) : error 
C2011: 'fd_set' : 'struct' type redefinition
1>        C:\Program Files\Microsoft Platform SDK\Include\winsock.h(54) : see 
declaration of 'fd_set'
1>C:\Program Files\Microsoft Platform SDK\Include\Winsock2.h(147) : warning 
C4005: 'FD_SET' : macro redefinition
1>        C:\Program Files\Microsoft Platform SDK\Include\winsock.h(88) : see 
previous definition of 'FD_SET'
1>C:\Program Files\Microsoft Platform SDK\Include\Winsock2.h(156) : error 
C2011: 'timeval' : 'struct' type redefinition
1>        C:\Program Files\Microsoft Platform SDK\Include\winsock.h(97) : see 
declaration of 'timeval'
...
{quote}

This error happens when some combination of winsock.h, winsock2.h and windows.h 
is included in the wrong order. The following change fixes the problem and 
might provide some clue as to what is going on.

{quote}
Index: DataInputStreamTest.h
===================================================================
--- DataInputStreamTest.h       (revision 470321)
+++ DataInputStreamTest.h       (working copy)
@@ -21,10 +21,10 @@
 #include <cppunit/TestFixture.h>
 #include <cppunit/extensions/HelperMacros.h>

+#include <activemq/util/Endian.h>
 #include <activemq/exceptions/ActiveMQException.h>
 #include <activemq/io/BufferedInputStream.h>
 #include <activemq/io/ByteArrayInputStream.h>
-#include <activemq/util/Endian.h>
 #include <activemq/io/DataInputStream.h>

 #ifdef min
{quote}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to