[zeromq-dev] Revisited: Example for building against ZMQ with CMake + UDP Multicast Support

Bill Torpey wallstprog at gmail.com
Wed Sep 26 16:08:22 CEST 2018


Hi Stephan:

The RADIO/DISH sockets are considered DRAFT, which is probably why you’re getting these errors.

There are a couple of possibilities:

- You may be linking against a version of libzmq that doesn’t include the draft APIs.  In order to build with draft support, the build needs to specify "-DENABLE_DRAFTS=On” on the cmake command line.  Make sure your libzmq was built with support for the draft APIs.


- You also need to enable draft APIs in your code, similar to following:

#define ZMQ_BUILD_DRAFT_API
#include <zmq.h>

The #define makes the draft APIs visible to your code.

(Never mind — you’re already doing this on the compile command).

Hope this helps.

Bill

> On Sep 26, 2018, at 9:13 AM, Stephan again <opfer at vs.uni-kassel.de> wrote:
> 
> Hi,
> 
> I asked this question/issue one and a half year ago (https://lists.zeromq.org/mailman/private/zeromq-dev/2017-January/031309.html). The difference is that I now would like to use zeromq (draft api) version 4.2.5 under Ubuntu 18.04.
> 
> My minimal (not) working example can be found here: https://gist.github.com/StephanOpfer/5b9f3f76e6610536078cb9c16072aac9
> 
> Compiling it with this command:
> 
>     g++ Discovery.cpp -lzmq -DZMQ_BUILD_DRAFT_API=1 -o test
> 
> produces this:
> 
>     /tmp/ccUwelWs.o: In function `msg_send(zmq_msg_t*, void*, char const*, char const*)':
>     Discovery.cpp:(.text+0x8e): undefined reference to `zmq_msg_set_group'
>     /tmp/ccUwelWs.o: In function `msg_recv_cmp(zmq_msg_t*, void*, char const*, char const*)':
>     Discovery.cpp:(.text+0x148): undefined reference to `zmq_msg_group'
>     /tmp/ccUwelWs.o: In function `main':
>     Discovery.cpp:(.text+0x30e): undefined reference to `zmq_leave'
>     Discovery.cpp:(.text+0x37f): undefined reference to `zmq_join'
>     Discovery.cpp:(.text+0x3c3): undefined reference to `zmq_join'
>     Discovery.cpp:(.text+0x407): undefined reference to `zmq_join'
>     Discovery.cpp:(.text+0x57c): undefined reference to `zmq_join'
>     Discovery.cpp:(.text+0x668): undefined reference to `zmq_leave'
>     collect2: error: ld returned 1 exit status
> 
> Any help is welcome. :)
> 
> Kind Regards
> 
>   Stephan
> 
> 
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> https://lists.zeromq.org/mailman/listinfo/zeromq-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20180926/b524a641/attachment.htm>


More information about the zeromq-dev mailing list