Building Quickfix for Windows for 64-bit
I downloaded what I think is the latest Quickfix from Github . It works fine as an x86 project, but when I try to build it as an x64 project, there is a load of warnings (see below).
I can't imagine that I am the first person to want to build a 64-bit version of Quickfix. Many warnings remind you that they are specific to Windows (like dropping SOCKET
before int
).
Is there a version of Quickfix that builds a pure 64bit library on Windows, or will I have to go in and fix it myself?
FieldMap.cpp (205): warning C4267: '+ =': conversion from 'size_t' to 'int', possible data loss FileStore.cpp (135): warning C4477: 'fscanf_s': format string '% lu' requires an argument of type 'unsigned long *', but variable argument 3 is of type 'size_t *' FileStore.cpp (135): note: consider using '% zu' in format string FileStore.cpp (197): warning C4477: 'fprintf': string The '% lu' format requires an "unsigned long" argument, but the variational argument 3 is of type ':: size_t' FileStore.cpp (197): note: consider using '% zu' in the C: \ Apps \ VS2017Pro \ VC format string \ Tools \ MSVC \ 14.10.25017 \ Include \ utilities (239): warning C4267: '=': conversion from 'size_t' to 'int',possible data loss FileStore.cpp (136): note: see the reference to the function template an instance of "std :: pair & std :: pair :: operator = (std :: pair & &) 'is compiled by FileStore.cpp (136): note: see function template reference instance "std :: pair & std :: pair :: operator = (std :: pair &) 'compiled SocketConnection.cpp (89): warning C4267:' + = ': conversion from' size_t 'to' unsigned int ', possible data loss SocketMonitor.cpp (141): warning C4244:' = ': conversion from' double '"long", possible data loss SocketMonitor.cpp (146): warning C4244:' = ' : conversion from 'double' to 'long', possible data loss SocketMonitor.cpp (232): warning C4244: 'initializing':conversion from "SOCKET" to "int", possible data loss SocketMonitor.cpp (271): warning C4244: "initialization": conversion from "SOCKET" to "int", possible data loss SocketMonitor.cpp (312): warning C4244: "initializing": conversion from "SOCKET" to "int", possible data loss Utility.cpp (105): warning C4244: 'initializing': conversion from "SOCKET" to "int", possible data loss 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 () or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings C: \ Program Files (x86) \ Windows Sets \ 8.1 \ Include \ um \ Winsock2.h (1850): note: see declaring 'inet_addr' Utility .cpp (150): warning C4244: 'return': conversion from "SOCKET" to "int", possible data loss Utility.cpp (155): warning C4267: "argument": conversion from 'size_t' to 'int', possible loss of data Utility.cpp (276): warning C4309: '=': truncating constant value Utility.cpp (299): warning C4996: 'inet_ntoa': use inet_ntop () or Instead of InetNtop () or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings C: \ Program Files (x86) \ Windows Sets \ 8.1 \ Include \ um \ Winsock2.h (1868): note: see declaration 'inet_ntoa' Utility.cpp (314): warning C4996: 'inet_addr': use inet_pton () or InetPton () or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated warnings API C: \ Program Files (x86) \ Windows Kits \ 8.1 \ Include \ um \ Winsock2.h (1850): note: see declaration "inet_addr" Utility.cpp (322): warning C4996: 'gethostbyname': instead use getaddrinfo () or GetAddrInfoW () 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 "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 "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 "inet_ntoa" Utility.cpp (399): warning C4244: '=': converting from ' uintptr_t 'to' FIX :: thread_id ', possible data loss Utility.cpp (418): warning C4312: "cast type": conversion from' FIX :: thread_id 'to' void * 'larger Utility.cpp (419): warning C4312: "cast type": conversion from "FIX :: thread_id" to "HANDLE" larger size Utility.cpp (428): warning C4312: "cast type": conversion from 'FIX :: thread_id 'to' HANDLE 'larger Utility.cpp (438): warning C4311: "type cast": truncated pointer from "HANDLE" to' unsigned int 'Utility.cpp (438): warning C4302:' type cast ' : truncation from "HANDLE" to "unsigned int"cpp (438): warning C4311: "cast type": truncating pointer from "HANDLE" to 'unsigned int' Utility.cpp (438): warning C4302: 'type cast': truncating from "HANDLE" to "unsigned int"cpp (438): warning C4311: "cast type": truncating pointer from "HANDLE" to 'unsigned int' Utility.cpp (438): warning C4302: 'type cast': truncating from "HANDLE" to "unsigned int"
DF
source to share
No one has answered this question yet
Check out similar questions: