[zeromq-dev] Compiling zmq inside program

Martin Sustrik sustrik at 250bpm.com
Wed Jan 11 12:30:25 CET 2012

Hi Pasi,

> I tried to compile zqm as a static library but it is just too much
> work with every version. I was able to do it with older VisualStudio,
> but with VS2010 and zmq 3.1.1 I just can't get it to work any more.

What's the error you are getting?

> a) In OSX 10.7 Xcode 4.2 it seems that Xcode (or Boost) defines
> somewhere a macro called "check". Method "check" is defined also in
> msg.hpp and trie.hpp and I couldn't compile my app. I had to put
> inside platform.hpp: #ifdef check #undef check #endif It this the
> right way to deal with the problem?

cpp files in libzmq project don't include Xcode or Boost headers. How 
come the macro is defined?

> b) It seems that I have to make copies of same sources in both OSX
> and Windows and compile sources at least once to get correct
> platform.hpp. I would like to use exact same sources, but is it
> possible? Do I need something else than platform.hpp?

The configure step checks your system and sets the ZMQ_HAVE_* macros 
accordingly. Thus, on 2 different systems you have two different 
platform.hpp files.

> c) To be able to compile in windows I need to change manually zmq.h
> and zmq_utils.h from: #   if defined DLL_EXPORT #       define
> ZMQ_EXPORT __declspec(dllexport) #   else #       define ZMQ_EXPORT
> __declspec(dllimport) #   endif to: #   if defined DLL_EXPORT #
> define ZMQ_EXPORT #   else #       define ZMQ_EXPORT #   endif I
> would like to have one more define (NO_ZMQ_EXPORT?), is it too much
> trouble to change this?

What would such macro mean? What is a library good for it doesn't export 
any symbols?

> d) https://github.com/zeromq/libzmq says the last change is December
> 19, 2011. Are there any newer versions somewhere?

There are several patches pending but these haven't been applied yet. 
What exactly are you looking for?


More information about the zeromq-dev mailing list