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

Stephan again opfer at vs.uni-kassel.de
Wed Sep 26 16:50:10 CEST 2018


Hi Bill,

adding -DENABLE_DRAFTS=On does not help:

g++ Discovery.cpp -lzmq -DZMQ_BUILD_DRAFT_API=1 -DENABLE_DRAFTS=On -o test

I also checked my installed libraries with "nm -gC <library | grep 
zmq_msgs_group":

/usr/lib/x86_64-linux-gnu/libzmq.a -> match
/usr/lib/x86_64-linux-gnu/libzmq.so -> no match
/usr/lib/x86_64-linux-gnu/libzmq.so.5 -> no match
/usr/lib/x86_64-linux-gnu/libzmq.so.5.1.5 -> no match

I am not so into this dynamic and static library stuff, but my build 
chain is linking agains "/usr/lib/x86_64-linux-gnu/libzmq.so". Is that 
the problem? How do I force it on command line to link against the 
static version.

Kind Regards

   Stephan


On 26.09.2018 16:08, Bill Torpey wrote:
> 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 
>> <mailto: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 <mailto:zeromq-dev at lists.zeromq.org>
>> https://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
>
> _______________________________________________
> 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/7a2794ba/attachment.htm>


More information about the zeromq-dev mailing list