[rabbitmq-discuss] building SimpleAmqpClient redux (Visual Studio 2008)

Eric J. Holtman eric at holtmans.com
Mon Mar 5 14:52:56 GMT 2012

On 3/5/2012 8:24 AM, Eric J. Holtman wrote:
> sigh.
> I can get cmake to run.   It generates the solution files
> and project files for VS 2008 just fine.
> They won't compile.
> errors are all like this:
> 1>MessageReturnedException.cpp
> 1>c:\dev\simpleamqpclient\src\SimpleAmqpClient/BasicMessage.h(195) :
> error C2146: syntax error : missing ';' before identifier 'Priority'
> the problem is that none of the typedefs for uint8_t, uint16_t etc
> seem to have been included.

The error seems to ne (taking AmqpException.h for example)
that the headers are including

#include <boost/cstdint.hpp>

but then the code has declarations like:

  explicit AmqpException(const std::string& reply_text, uint16_t
class_id, uint16_t method_id) throw();

the boost/cstdint.hpp puts uint16_t in the boost:: namesspace,
NOT in std::

if I change the above line to

  explicit AmqpException(const std::string& reply_text, boost::uint16_t
class_id, boost::uint16_t method_id) throw();

it compiles.

I'm not really willing to put a "using namespace boost" at the top
of the headers.

Am I missing something obvious here?

More information about the rabbitmq-discuss mailing list