[zeromq-dev] Errors creating a DLL including ZeroMQ libraries

Shon Love slove at fatpot.com
Tue Jul 16 23:30:30 CEST 2013


Hey,

  I'm guessing you need to link your dll against the 'ws2_32.lib' library.

Thanks,
Shon


On Tue, Jul 16, 2013 at 3:18 PM, Riskybiz <riskybizLive at live.com> wrote:

> I’m creating a C++ DLL using Visual Studio 2012 and would like to use
> ZeroMQ libraries in it.  I’ve basically taken the ZeroMQ example ‘hwserver’
> Hello World Server and adapted it into a header file for use within my DLL
> (Code below).  Problem is that I get hundreds of warnings and errors when
> trying to build the DLL;  the errors are repetitious referring to many
> different elements of the same header files:****
>
> ** **
>
> Winsock2.h ………redeclaration cannot add dllexport/dllimport………****
>
> winsock2.h  Macro redefinitions.****
>
> ws2def.h  type redefinitions****
>
> ** **
>
> etc etc etc……..****
>
> ** **
>
> and sample errors below:****
>
> ** **
>
> Warning               26           warning C4005: 'SOMAXCONN' : macro
> redefinition         C:\Program Files (x86)\Windows
> Kits\8.0\Include\um\winsock2.h              506         1 TestDataAccess**
> **
>
> ** **
>
> 125         IntelliSense: redeclaration cannot add dllexport/dllimport to
> "WSAUnhookBlockingHook" (declared at line 879 of "C:\Program Files
> (x86)\Windows Kits\8.0\Include\um\winsock.h")        c:\Program Files
> (x86)\Windows Kits\8.0\Include\um\WinSock2.h             2381
> 1              TestDataAccess****
>
> ** **
>
> 79           IntelliSense: expected an identifier         c:\Program Files
> (x86)\Windows Kits\8.0\Include\shared\ws2def.h         414
> 5              TestDataAccess****
>
> ** **
>
> Error      63           error C2375: 'WSAStartup' : redefinition;
> different linkage            C:\Program Files (x86)\Windows
> Kits\8.0\Include\um\winsock2.h              2296       1 TestDataAccess***
> *
>
> ** **
>
> ** **
>
> I’ve already experimented with the ZeroMQ examples ‘hwserver’ Hello World
> Server & `hwclient` Hello World Client.  I can get the exe application
> files for these examples to build and run OK on my PC (Same machine as I’m
> using for the DLL).****
>
> ** **
>
> ** **
>
> It’s clear that something is significantly wrong here; does anyone know
> what it could be?  Or what steps are needed to build a DLL in Visual Studio
> 2012 using the ZeroMQ libraries. (Note: I’ve used Boost libraries in the
> same manner, for a DLL, without all this trouble!)****
>
> ** **
>
> ** **
>
> Hope you can help,****
>
> ** **
>
> With thanks,****
>
> ** **
>
> Riskybiz.****
>
> ** **
>
> Code I’m trying to build in a DLL:****
>
> ** **
>
> ** **
>
> #ifndef ZMQ_COMMUNICATIONS_H//if not defined already****
>
> #define ZMQ_COMMUNICATIONS_H//then define it****
>
>  ****
>
> #include <zmq.hpp>****
>
>  ****
>
> void ListenOnReplySocket()****
>
> {****
>
> //  Prepare our context and socket****
>
>     zmq::context_t context (1);****
>
>     zmq::socket_t socket (context, ZMQ_REP);****
>
>     socket.bind ("tcp://*:5555");****
>
>  ****
>
> while (true)****
>
> {****
>
>         zmq::message_t request;****
>
>  ****
>
>         //  Wait for next request from client****
>
>         socket.recv (&request);****
>
>  ****
>
> char buffer[50];****
>
> int j;****
>
> j = sprintf_s(buffer, 50, "TestDataAccess: ZMQComms: Hello");****
>
> OutputDebugStringA(buffer);****
>
>        ****
>
>  ****
>
>         //  Do some 'work'****
>
>         Sleep (1);****
>
>  ****
>
>         //  Send reply back to client****
>
>         zmq::message_t reply (5);****
>
>         memcpy ((void *) reply.data (), "World", 5);****
>
>         socket.send (reply);****
>
>     }****
>
> }****
>
> #endif****
>
> ** **
>
> ** **
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>


-- 
Shon C. Love
Programmer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20130716/6c817207/attachment.htm>


More information about the zeromq-dev mailing list