You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Oscar Pernas <os...@pernas.es> on 2011/01/25 11:57:13 UTC

ACTIVEMQ-CPP Error compiling with windows.h header included in the project

Hi all,


Im using ActiveMQ-CPP in a dll using windows XP. When I was trying to
compile my library (that uses activemq-cpp), I was always having  error
C2059: syntax error : 'constant' in thread.h class of decaf/lang.
I was looking for a solution and I saw that the constant was defined in
winspool.h

Thread.h
static const int MIN_PRIORITY = 1;

winspool.h
 #define MAX_PRIORITY 99
#define MIN_PRIORITY  1

This #define causes the compilation error. To fix that, I've set in activemq
sources the const name to (same but with underscore):

        /** The minimum priority that a thread can have. */
        static const int _MIN_PRIORITY = 1;

        /** The maximum priority that a thread can have. */
        static const int _MAX_PRIORITY = 10;


The compilation works now, I'm missunderstanding something? it is a good
solution?

regards

-- 
Óscar Pernas Plaza.

Re: ACTIVEMQ-CPP Error compiling with windows.h header included in the project

Posted by Ivan Pechorin <iv...@gmail.com>.
2011/1/25 Oscar Pernas <os...@pernas.es>:
> Im using ActiveMQ-CPP in a dll using windows XP. When I was trying to
> compile my library (that uses activemq-cpp), I was always having  error
> C2059: syntax error : 'constant' in thread.h class of decaf/lang.
> I was looking for a solution and I saw that the constant was defined in
> winspool.h
>
> Thread.h
> static const int MIN_PRIORITY = 1;
>
> winspool.h
>  #define MAX_PRIORITY 99
> #define MIN_PRIORITY  1

Try to #define WIN32_LEAN_AND_MEAN before including <windows.h>:

#define WIN32_LEAN_AND_MEAN
#include <windows.h>

As far as I remember, winspool.h won't be included if you define
WIN32_LEAN_AND_MEAN.

Regards,
Ivan