[zeromq-dev] Building on Windows

George Neill georgen at neillnet.com
Wed Dec 31 21:32:35 CET 2008


On Wed, Dec 31, 2008 at 6:18 AM, Martin Sustrik <sustrik at fastmq.com> wrote:
> Here I'm resending a reply from Matus Hamorsky:
> If I was you I would leave MSVC as is, so that it compiles with VC
> Express (free).
> Many other open source libraries (at least openssl and curl) do use
> standard VC project (normally version VC 6.0 that is the common lowest
> denominator) - all the higher versions of VC know how to convert the
> project file.

openssl building, oh my, very nasty.  shell, perl, autotools melting
pot.  I'd like to think the reason these other projects have separate
VC project files is because nobody wanted to jump in the mess that is
currently there to support windows.

> Speaking of MinGW do you mean build only (gnu make) or gcc as well?
> [I've meant both.] Because if you mean gcc you can encounter problems
> with linking static libraries on x86 (32 bit). I believe that x86-64 has
>  standardised ABI but I am sure whether it's true for static liraries
> (.lib/.a).
> I don't know CMake, however, I personally don't like projects that have
> dependencies build systems.

While I understand your point of view, I am on the other side.  I
don't like projects which don't use some sort of a build mechanism.
Without make (or vc project file), development/releases would not be
fun (or consistent).

IMO, maintaining _multiple_ platform dependent makefiles (or msvc
project files) could also bring troubles for the maintainer (and I
think this is the point Martin is trying to make, no pun intended).
Currently, when a build piece changes, 0mq currently has to update 3
areas,  GNU autotools scripts, cmake build scripts and the windows
msvc project files.  Inevitably, one will get missed.

cross platform make (cmake) was invented to deal with this very
problem and from what I have used of it, it works great.


More information about the zeromq-dev mailing list