Re: [Quickfix-users] building Qfix on Mingw (C++ windows)
Brought to you by:
orenmnero
From: Dale W. <wi...@oc...> - 2009-09-01 14:33:23
|
Hi rodrigo, r.goncalves wrote: > Hi, > it am trying to build qfix on mingw on windows, but apparently there > are incompatible issues since the source files target the VS C++ IDE. > Can i compile it on mingw? What i found is that mingw lacks the > necessary socket.h and inet.h: > > include/quickfix/Utility.h:30:20: config.h: No such file or directory > include/quickfix/Utility.h:69:24: sys/socket.h: No such file or directory > include/quickfix/Utility.h:70:23: sys/ioctl.h: No such file or directory > include/quickfix/Utility.h:73:24: netinet/in.h: No such file or directory > include/quickfix/Utility.h:74:25: netinet/tcp.h: No such file or directory > include/quickfix/Utility.h:75:23: arpa/inet.h: No such file or directory > include/quickfix/Utility.h:76:19: netdb.h: No such file or directory > include/quickfix/Utility.h:79:21: pthread.h: No such file or directory > > Any ideas on how to do that? I haven't tried building QuickFIX on mingw because for me it's easier to use the free Express versions of the Microsoft compilers than to try to fight the battles necessary to run MinGW. However what I have discovered in other projects is that because MinGW is built on top of the Microsoft C runtime library rather than having it's own C library there are some issues that you have to address. For example, from the MinGW wiki: Pthreads is part of /POSIX/ and /Windows/ isn't a /POSIX/ system. However, there is a third party library on sourceware.org <http://sourceware.org> named pthreads-win32 <http://sourceware.org/pthreads-win32>. Sourceware.org provides its own lists and MinGW does not support it but you are free to use it with MinGW at your own risk. Because QuickFIX C++ on a *nix build uses posix, you'll need this library. You'll also need to find similar support for sockets. Googling mingw+sockets provides quite a few links to the discussions about how to handle sockets in the MinGW environment. Unfortunately you are probably looking at source code changes to get this working. Dale |