I've downloaded what I believe is the latest Quickfix from Github. It builds fine as an x86 project, but when I try to build it as an x64 project there's a load of warnings (see below).
I can't imagine I'm the first person to want to build a 64bit version of Quickfix. A lot of the warnings look like they're Windows specific (eg casting the SOCKET
to int
).
Is there a version of Quickfix out there that builds cleanly as a 64bit library on Windows, or will I need to go in and patch it myself?
FieldMap.cpp(205): warning C4267: '+=': conversion from 'size_t' to 'int', possible loss of data FileStore.cpp(135): warning C4477: 'fscanf_s' : format string '%lu' requires an argument of type 'unsigned long *', but variadic argument 3 has type 'size_t *' FileStore.cpp(135): note: consider using '%zu' in the format string FileStore.cpp(197): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 3 has type '::size_t' FileStore.cpp(197): note: consider using '%zu' in the format string c:\apps\VS2017Pro\VC\Tools\MSVC\14.10.25017\include\utility(239): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data FileStore.cpp(136): note: see reference to function template instantiation 'std::pair &std::pair::operator =(std::pair &&)' being compiled FileStore.cpp(136): note: see reference to function template instantiation 'std::pair &std::pair::operator =(std::pair &&)' being compiled SocketConnection.cpp(89): warning C4267: '+=': conversion from 'size_t' to 'unsigned int', possible loss of data SocketMonitor.cpp(141): warning C4244: '=': conversion from 'double' to 'long', possible loss of data SocketMonitor.cpp(146): warning C4244: '=': conversion from 'double' to 'long', possible loss of data SocketMonitor.cpp(232): warning C4244: 'initializing': conversion from 'SOCKET' to 'int', possible loss of data SocketMonitor.cpp(271): warning C4244: 'initializing': conversion from 'SOCKET' to 'int', possible loss of data SocketMonitor.cpp(312): warning C4244: 'initializing': conversion from 'SOCKET' to 'int', possible loss of data Utility.cpp(105): warning C4244: 'initializing': conversion from 'SOCKET' to 'int', possible loss of data Utility.cpp(128): warning C4244: 'return': conversion from 'SOCKET' to 'int', possible loss of data Utility.cpp(139): warning C4996: 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings C:\Program Files (x86)\Windows Kits\8.1\Include\um\Winsock2.h(1850): note: see declaration of 'inet_addr' Utility.cpp(150): warning C4244: 'return': conversion from 'SOCKET' to 'int', possible loss of data Utility.cpp(155): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data Utility.cpp(276): warning C4309: '=': truncation of constant value Utility.cpp(299): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings C:\Program Files (x86)\Windows Kits\8.1\Include\um\Winsock2.h(1868): note: see declaration of 'inet_ntoa' Utility.cpp(314): warning C4996: 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings C:\Program Files (x86)\Windows Kits\8.1\Include\um\Winsock2.h(1850): note: see declaration of 'inet_addr' Utility.cpp(322): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings C:\Program Files (x86)\Windows Kits\8.1\Include\um\Winsock2.h(2238): note: see declaration of 'gethostbyname' Utility.cpp(328): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings C:\Program Files (x86)\Windows Kits\8.1\Include\um\Winsock2.h(1868): note: see declaration of 'inet_ntoa' Utility.cpp(337): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings C:\Program Files (x86)\Windows Kits\8.1\Include\um\Winsock2.h(1868): note: see declaration of 'inet_ntoa' Utility.cpp(399): warning C4244: '=': conversion from 'uintptr_t' to 'FIX::thread_id', possible loss of data Utility.cpp(418): warning C4312: 'type cast': conversion from 'FIX::thread_id' to 'void *' of greater size Utility.cpp(419): warning C4312: 'type cast': conversion from 'FIX::thread_id' to 'HANDLE' of greater size Utility.cpp(428): warning C4312: 'type cast': conversion from 'FIX::thread_id' to 'HANDLE' of greater size Utility.cpp(438): warning C4311: 'type cast': pointer truncation from 'HANDLE' to 'unsigned int' Utility.cpp(438): warning C4302: 'type cast': truncation from 'HANDLE' to 'unsigned int'
df