[zeromq-dev] windows compile error.

Martin Sustrik sustrik at fastmq.com
Wed Nov 12 09:51:19 CET 2008


George,

I'm sorry, this looks like an obvious compiler bug. "Cannot convert A to 
A" simply shouldn't be an error. I'll make an jira task for the problem, 
however, it'll be a low priority issue as the problem is not within 0MQ 
itself.

Martin

George Neill wrote:
> Martin,
> 
> On Tue, Nov 11, 2008 at 2:48 PM, Martin Sustrik <sustrik at fastmq.com> wrote:
>> George,
>>
>>> cannot convert parameter 1 from 'zmq::i_thread *' to 'zmq::i_thread *'
>> Pretty strange.
> 
> Indeed.
> 
>> Can you try changing the function declaration from:
>>
>> void zmq::api_thread_t::bind (const char *exchange_, const char *queue_,
>>    i_thread *exchange_thread_, i_thread *queue_thread_)
>>
>> to:
>>
>> void zmq::api_thread_t::bind (const char *exchange_, const char *queue_,
>>    zmq::i_thread *exchange_thread_, zmq::i_thread *queue_thread_)
> 
> C:\Documents and Settings\gneill\Desktop\zmq\trunk\zmq>svn diff api_thread.*
> Index: api_thread.cpp
> ===================================================================
> --- api_thread.cpp      (revision 611)
> +++ api_thread.cpp      (working copy)
> @@ -105,10 +105,10 @@
>  }
> 
>  void zmq::api_thread_t::bind (const char *exchange_, const char *queue_,
> -    i_thread *exchange_thread_, i_thread *queue_thread_)
> +    zmq::i_thread *exchange_thread_, zmq::i_thread *queue_thread_)
>  {
>      //  Find the exchange.
> -    i_thread *exchange_thread;
> +    zmq::i_thread *exchange_thread;
>      i_engine *exchange_engine;
>      exchanges_t::iterator eit;
>      for (eit = exchanges.begin (); eit != exchanges.end (); eit ++)
> @@ -133,7 +133,7 @@
>      }
> 
>      //  Find the queue.
> -    i_thread *queue_thread;
> +    zmq::i_thread *queue_thread;
>      i_engine *queue_engine;
>      queues_t::iterator qit;
>      for (qit = queues.begin (); qit != queues.end (); qit ++)
> Index: api_thread.hpp
> ===================================================================
> --- api_thread.hpp      (revision 611)
> +++ api_thread.hpp      (working copy)
> @@ -73,7 +73,7 @@
> 
>          //  Binds an exchange to a queue.
>          ZMQ_EXPORT void bind (const char *exchange_, const char *queue_,
> -            i_thread *exchange_thread_, i_thread *queue_thread_);
> +            zmq::i_thread *exchange_thread_, zmq::i_thread *queue_thread_);
> 
>          //  Send a message to specified exchange. 0MQ takes responsibility
>          //  for deallocating the message. If there are any pending pre-sent
> 
> 
> Produces the same error.
> 
> Thanks,
> George.




More information about the zeromq-dev mailing list