[ https://issues.apache.org/activemq/browse/AMQ-1021?page=all ]
Albert Strasheim reopened AMQ-1021:
-----------------------------------
I'm having the same issue in TransactionTester.cpp, but I've found a solution.
Note that the Debug build works fine -- the Release build is causing problems.
Adding WIN32_LEAN_AND_MEAN to the Release build defines solves the problem.
> 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
> Assigned To: Timothy Bish
>
> 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