[zeromq-dev] libzmq.dll => zmq.dll ?

Martin Sustrik sustrik at 250bpm.com
Wed Feb 24 14:32:33 CET 2010

gonzalo diethelm wrote:

> From what I understand, this is a non-issue; any name would do. OpenSSL
> uses libXXX.dll, most others use XXX.dll.

What I believe is the rationale here is that some multi-platform tools 
expect shared libraries be named libX.so on linux, X.dll on windows etc.

> A bigger issue, that has already come up, is the multitude of runtimes
> under Windows. You may have all combinations of:
> * Single / Multi threaded
> * Debug / Release
> * Versions: most common nowadays seem to be 6.x, 7.x and 9.x.
> How to account for all of them? Welcome to DLL hell, with no easy
> solution that I know about.

We've been messing with the problem for few past days. So far it looks 
like this:

0MQ library is linked with CRT version X. The client application may 
require version Y. If X=Y there's no problem. If the versions don't 
match, everthing still works OK (the interface is CRT agnostic) with the 
exception of errno, which has its own instance in each CRT.

To cover this case, we've introduced zmq_errno() function yesterday 
which you can use to get errno from 0MQ in cases where your errno is not 
the same thing as 0MQ's errno.

Any further issues you are aware of?

More information about the zeromq-dev mailing list