[prev in list] [next in list] [prev in thread] [next in thread] 

List:       zeromq-dev
Subject:    Re: [zeromq-dev] ZeroMQ C++
From:       "Brian T. Carcich" <briantcarcich () gmail ! com>
Date:       2019-07-27 0:44:23
Message-ID: CAMV=iAuT7WzdyniZq5ynS5iicELDM_DVZiD0N1686g0Q=bkzNg () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Simon,

I would guess it's the asterisk before [epit_>...], which converts the
(socket_t*) - i.e. the pointer to a socket_t instance - returned by
[epit->get().sock into a socket_t instance.  C++ can convert the pointer to
the socket_t, or to any object, into a (void*), but it can't convert the
object itself to a pointer.

Drop those asterisks and you should be okay.

Brian Carcich

On Fri, Jul 26, 2019 at 12:40 AM SIMON BABY <simonkbaby@gmail.com> wrote:

> Thank you Michal. While building my code, I see below error. can anyone
> suggest to fix this.
>
> tdy@ubuntu:~/ZIPCpp$ make all
> mkdir -p build/src/fmt/
> g++ -O2 -std=c++11 -fPIC -Wall -Wextra -fmessage-length=0 -pthread
> -I/cppzmq/ -Iinclude -MMD -MP -c src/fmt/posix.cc -o
> build/src/fmt/posix.cc.o
> mkdir -p build/src/fmt/
> g++ -O2 -std=c++11 -fPIC -Wall -Wextra -fmessage-length=0 -pthread
> -I/cppzmq/ -Iinclude -MMD -MP -c src/fmt/format.cc -o
> build/src/fmt/format.cc.o
> mkdir -p build/src/
> g++ -O2 -std=c++11 -fPIC -Wall -Wextra -fmessage-length=0 -pthread
> -I/cppzmq/ -Iinclude -MMD -MP -c src/zipc.cpp -o build/src/zipc.cpp.o
> src/zipc.cpp: In function ‘bool zipc::sockPoll(zmq::socket_t*, int)':
> src/zipc.cpp:115:53: error: cannot convert ‘zmq::socket_t' to ‘void*' in
> initialization
>      pollitem_t pollItem = { *sock, 0, ZMQ_POLLIN, 0 };
>                                                      ^
> src/zipc.cpp: In static member function ‘static std::vector<unsigned int>
> zipc::Endpoint::pollEndpoints(const EndpointList&, int)':
> s*rc/zipc.cpp:365:69: error: cannot convert ‘zmq::socket_t' to ‘void*' in
> initialization*
>          pollitem_t pollItem = { *epIt->get().sock, 0, ZMQ_POLLIN, 0 };
>  // no constructor for pollitem_t
>                                                                      ^
> src/zipc.cpp: In member function ‘void zipc::Proxy::run()':
> *src/zipc.cpp:545:78: error: cannot convert ‘zmq::socket_t' to ‘void*' for
> argument ‘1' to ‘void zmq::proxy_steerable(void*, void*, void*, void*)'*
>      proxy_steerable(*this->feSock, *this->beSock, nullptr,
> *this->ctlPullSock);
>
>     ^
> src/zipc.cpp: At global scope:
> src/zipc.cpp:58:6: warning: ‘void zipc::mpmsgListSend(zipc::MPMsgList&,
> zmq::socket_t*, int)' defined but not used [-Wunused-function]
>  void mpmsgListSend(MPMsgList &mpmsgList, socket_t *sock, int flags)
>       ^
> src/zipc.cpp:70:6: warning: ‘bool zipc::msgRecvPoll(zipc::Msg&,
> zmq::socket_t*, int)' defined but not used [-Wunused-function]
>  bool msgRecvPoll(Msg &msg, socket_t *sock, int timeoutMs)
>       ^
> src/zipc.cpp:129:6: warning: ‘void zipc::sockDetach(zmq::socket_t*, const
> string&, zipc::AttachType)' defined but not used [-Wunused-function]
>  void sockDetach(socket_t *sock, const std::string &epAddr, AttachType
> attachType)
>       ^
> Makefile:50: recipe for target 'build/src/zipc.cpp.o' failed
> make: *** [build/src/zipc.cpp.o] Error 1
> tdy@ubuntu:~/ZIPCpp$ uname -a
> Linux ubuntu 4.10.0-28-generic #32~16.04.2-Ubuntu SMP Thu Jul 20 10:19:13
> UTC 2017 i686 i686 i686 GNU/Linux
>
>
> Rgds
> Simon
>
> On Thu, Jul 25, 2019 at 1:06 PM Michal Vyskocil <michal.vyskocil@gmail.com>
> wrote:
>
>> Hi,
>>
>> Just use zpoller from czmq. It is C library, but with really nice API you
>> can call from C++ code
>>
>> Dne čt 25. 7. 2019 19:33 uživatel Brett Viren via zeromq-dev <
>> zeromq-dev@lists.zeromq.org> napsal:
>>
>>> SIMON BABY <simonkbaby@gmail.com> writes:
>>>
>>> > I am looking for a sample source code in c++ with multiple end-points
>>> defined in the same process.
>>> > Basically my process has to send a receive messages to/from other
>>> processes.
>>>
>>> These two requirements seem contradictory to me.
>>>
>>> In any case, the zmqpp package has tests written in C++ that have
>>> multiple sockets in the same process.
>>>
>>>
>>> https://github.com/zeromq/zmqpp/blob/develop/src/tests/test_socket.cpp#L84
>>>
>>> I happen to develop in C++ and use libczmq.  Although it is a C library,
>>> there has been nothing that limits me using it with C++.
>>>
>>> -Brett.
>>>
>>> _______________________________________________
>>> zeromq-dev mailing list
>>> zeromq-dev@lists.zeromq.org
>>> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>
>> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev@lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>

[Attachment #5 (text/html)]

<div dir="ltr">Simon,<div><br></div><div>I would guess it&#39;s the asterisk before \
[epit_&gt;...], which converts the (socket_t*) - i.e. the pointer to a socket_t \
instance - returned by [epit-&gt;get().sock into a socket_t instance.   C++ can \
convert the pointer to the socket_t, or to any object, into a (void*), but it \
can&#39;t convert the object itself to a pointer.</div><div><br></div><div>Drop those \
asterisks and you should be okay.</div><div><br></div><div>Brian \
Carcich</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On \
Fri, Jul 26, 2019 at 12:40 AM SIMON BABY &lt;<a \
href="mailto:simonkbaby@gmail.com">simonkbaby@gmail.com</a>&gt; \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Thank \
you Michal. While building my code, I see below error. can anyone suggest to fix \
this.<div><br></div><div>tdy@ubuntu:~/ZIPCpp$ make all<br>mkdir -p \
build/src/fmt/<br>g++ -O2 -std=c++11 -fPIC -Wall -Wextra -fmessage-length=0 -pthread \
-I/cppzmq/ -Iinclude -MMD -MP -c src/fmt/posix.cc -o \
build/src/fmt/posix.cc.o<br>mkdir -p build/src/fmt/<br>g++ -O2 -std=c++11 -fPIC -Wall \
-Wextra -fmessage-length=0 -pthread -I/cppzmq/ -Iinclude -MMD -MP -c \
src/fmt/format.cc -o build/src/fmt/format.cc.o<br>mkdir -p build/src/<br>g++ -O2 \
-std=c++11 -fPIC -Wall -Wextra -fmessage-length=0 -pthread -I/cppzmq/ -Iinclude -MMD \
-MP -c src/zipc.cpp -o build/src/zipc.cpp.o<br>src/zipc.cpp: In function ‘bool \
zipc::sockPoll(zmq::socket_t*, int)':<br>src/zipc.cpp:115:53: error: cannot convert \
‘zmq::socket_t' to ‘void*' in initialization<br>        pollitem_t pollItem = { \
*sock, 0, ZMQ_POLLIN, 0 };<br>                                                        \
^<br>src/zipc.cpp: In static member function ‘static std::vector&lt;unsigned \
int&gt; zipc::Endpoint::pollEndpoints(const EndpointList&amp;, \
int)':<br>s<b>rc/zipc.cpp:365:69: error: cannot convert ‘zmq::socket_t' to \
‘void*' in initialization</b><br>              pollitem_t pollItem = { \
*epIt-&gt;get().sock, 0, ZMQ_POLLIN, 0 };   // no constructor for pollitem_t<br>      \
^<br>src/zipc.cpp: In member function ‘void \
zipc::Proxy::run()':<br><b>src/zipc.cpp:545:78: error: cannot convert \
‘zmq::socket_t' to ‘void*' for argument ‘1' to ‘void \
zmq::proxy_steerable(void*, void*, void*, void*)'</b><br>        \
proxy_steerable(*this-&gt;feSock, *this-&gt;beSock, nullptr, \
*this-&gt;ctlPullSock);<br>                                                           \
^<br>src/zipc.cpp: At global scope:<br>src/zipc.cpp:58:6: warning: ‘void \
zipc::mpmsgListSend(zipc::MPMsgList&amp;, zmq::socket_t*, int)' defined but not used \
[-Wunused-function]<br>  void mpmsgListSend(MPMsgList &amp;mpmsgList, socket_t *sock, \
int flags)<br>         ^<br>src/zipc.cpp:70:6: warning: ‘bool \
zipc::msgRecvPoll(zipc::Msg&amp;, zmq::socket_t*, int)' defined but not used \
[-Wunused-function]<br>  bool msgRecvPoll(Msg &amp;msg, socket_t *sock, int \
timeoutMs)<br>         ^<br>src/zipc.cpp:129:6: warning: ‘void \
zipc::sockDetach(zmq::socket_t*, const string&amp;, zipc::AttachType)' defined but \
not used [-Wunused-function]<br>  void sockDetach(socket_t *sock, const std::string \
&amp;epAddr, AttachType attachType)<br>         ^<br>Makefile:50: recipe for target \
&#39;build/src/zipc.cpp.o&#39; failed<br>make: *** [build/src/zipc.cpp.o] Error \
1<br>tdy@ubuntu:~/ZIPCpp$ uname -a<br>Linux ubuntu 4.10.0-28-generic \
#32~16.04.2-Ubuntu SMP Thu Jul 20 10:19:13 UTC 2017 i686 i686 i686 \
GNU/Linux<br><div><br></div><div><br></div><div>Rgds</div></div><div>Simon</div></div><br><div \
class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 25, 2019 at 1:06 PM \
Michal Vyskocil &lt;<a href="mailto:michal.vyskocil@gmail.com" \
target="_blank">michal.vyskocil@gmail.com</a>&gt; wrote:<br></div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex"><div dir="auto">Hi,<div dir="auto"><br></div><div \
dir="auto">Just use zpoller from czmq. It is C library, but with really nice API you \
can call from C++ code  </div></div><br><div class="gmail_quote"><div dir="ltr" \
class="gmail_attr">Dne čt 25. 7. 2019 19:33 uživatel Brett Viren via zeromq-dev \
&lt;<a href="mailto:zeromq-dev@lists.zeromq.org" \
target="_blank">zeromq-dev@lists.zeromq.org</a>&gt; napsal:<br></div><blockquote \
class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid \
rgb(204,204,204);padding-left:1ex">SIMON BABY &lt;<a \
href="mailto:simonkbaby@gmail.com" rel="noreferrer" \
target="_blank">simonkbaby@gmail.com</a>&gt; writes:<br> <br>
&gt; I am looking for a sample source code in c++ with multiple end-points defined in \
the same process.<br> &gt; Basically my process has to send a receive messages \
to/from other processes. <br> <br>
These two requirements seem contradictory to me.<br>
<br>
In any case, the zmqpp package has tests written in C++ that have<br>
multiple sockets in the same process.<br>
<br>
   <a href="https://github.com/zeromq/zmqpp/blob/develop/src/tests/test_socket.cpp#L84" \
rel="noreferrer noreferrer" \
target="_blank">https://github.com/zeromq/zmqpp/blob/develop/src/tests/test_socket.cpp#L84</a><br>
 <br>
I happen to develop in C++ and use libczmq.   Although it is a C library,<br>
there has been nothing that limits me using it with C++.   <br>
<br>
-Brett.<br>
<br>
_______________________________________________<br>
zeromq-dev mailing list<br>
<a href="mailto:zeromq-dev@lists.zeromq.org" rel="noreferrer" \
target="_blank">zeromq-dev@lists.zeromq.org</a><br> <a \
href="https://lists.zeromq.org/mailman/listinfo/zeromq-dev" rel="noreferrer \
noreferrer" target="_blank">https://lists.zeromq.org/mailman/listinfo/zeromq-dev</a><br>
 </blockquote></div>
</blockquote></div>
_______________________________________________<br>
zeromq-dev mailing list<br>
<a href="mailto:zeromq-dev@lists.zeromq.org" \
target="_blank">zeromq-dev@lists.zeromq.org</a><br> <a \
href="https://lists.zeromq.org/mailman/listinfo/zeromq-dev" rel="noreferrer" \
target="_blank">https://lists.zeromq.org/mailman/listinfo/zeromq-dev</a><br> \
</blockquote></div>



_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic