This change was necessary to allow for static linking by a Windows DLL project. Also the preferred symbol in this context would be __WINDOWS__. The technique below is copied from libzmq.