我已经从Github下载了我认为是最新的Quickfix。它作为x86项目构建得很好,但是当我尝试将其构建为x64项目时,会出现大量警告(见下文)。
我无法想象我是第一个想要构建64位版Quickfix的人。很多警告看起来都是Windows特定的(例如,将SOCKET
转换为int
)。
是否有一个版本的Quickfix在Windows上作为64位库干净地构建,或者我是否需要自己进行修补?
FieldMap.cpp(205):警告C4267:' + =':从' size_t'转换至 ' int',可能丢失数据FileStore.cpp(135):警告C4477: ' fscanf_s' :格式字符串'%lu'需要一个类型的参数 ' unsigned long *',但是可变参数3的类型为' size_t *' FileStore.cpp(135):注意:考虑使用'%zu'在格式字符串中 FileStore.cpp(197):警告C4477:' fprintf' :格式字符串'%lu' 需要一个类型为' unsigned long'的参数,但是variadic参数为3 有类型' :: size_t' FileStore.cpp(197):注意:考虑使用'%zu'在 格式字符串 C:\ APPS \ VS2017Pro \ VC \工具\ MSVC \ 14.10.25017 \包括\实用程序(239): 警告C4267:' =':转换自' size_t'到了' int',可能的损失 数据FileStore.cpp(136):注意:请参阅函数模板的参考 实例化&#st; :: pair& std :: pair :: operator =(std :: pair&&)'正在编译FileStore.cpp(136):注意:请参阅函数模板的引用 实例化&#st; :: pair& std :: pair :: operator =(std :: pair&&)'正在编译SocketConnection.cpp(89):警告C4267:' + =':转换 来自' size_t' to' unsigned int',可能会丢失数据 SocketMonitor.cpp(141):警告C4244:' =':转换为' double' 长期'可能丢失数据SocketMonitor.cpp(146):警告 C4244:' =':转换为' double'长期'可能会丢失数据 SocketMonitor.cpp(232):警告C4244:'初始化':转换自 '插座' to' int',可能丢失数据SocketMonitor.cpp(271): 警告C4244:'初始化':来自' SOCKET'到' int', 可能丢失数据SocketMonitor.cpp(312):警告C4244: '初始化':转换来自' SOCKET'到' int',可能的损失 data Utility.cpp(105):警告C4244:'初始化':转换自 '插座' to' int',可能丢失数据Utility.cpp(128):警告 C4244:'返回':来自' SOCKET'到' int',可能的损失 data Utility.cpp(139):警告C4996:' inet_addr':使用inet_pton()或 改为使用InetPton()或定义_WINSOCK_DEPRECATED_NO_WARNINGS 禁用已弃用的API警告C:\ Program Files(x86)\ Windows 套件\ 8.1 \包括\ um \ Winsock2.h(1850):注意:见声明 ' inet_addr' Utility.cpp(150):警告C4244:'返回':转换自 '插座' to' int',可能丢失数据Utility.cpp(155):警告 C4267:'论证':来自' size_t'到' int',可能的损失 data Utility.cpp(276):警告C4309:' =&#39 ;:常量的截断 value Utility.cpp(299):警告C4996:' inet_ntoa':使用inet_ntop()或 InetNtop()代替或定义_WINSOCK_DEPRECATED_NO_WARNINGS 禁用已弃用的API警告C:\ Program Files(x86)\ Windows 套件\ 8.1 \包括\ um \ Winsock2.h(1868):注意:见声明 ' INET_NTOA' Utility.cpp(314):警告C4996:' inet_addr':使用 inet_pton()或InetPton()代替或定义 _WINSOCK_DEPRECATED_NO_WARNINGS用于禁用已弃用的API警告C:\ Program Files(x86)\ Windows Kits \ 8.1 \ Include \ um \ Winsock2.h(1850): 注意:请参阅' inet_addr' Utility.cpp(322):警告C4996: ' gethostbyname':改用getaddrinfo()或GetAddrInfoW()或定义 _WINSOCK_DEPRECATED_NO_WARNINGS用于禁用已弃用的API警告C:\ Program Files(x86)\ Windows Kits \ 8.1 \ Include \ um \ Winsock2.h(2238): 注意:请参阅' gethostbyname' Utility.cpp(328):警告 C4996:' inet_ntoa':使用inet_ntop()或InetNtop()代替或定义 _WINSOCK_DEPRECATED_NO_WARNINGS用于禁用已弃用的API警告C:\ Program Files(x86)\ Windows Kits \ 8.1 \ Include \ um \ Winsock2.h(1868): 注意:见'inet_ntoa'的声明Utility.cpp(337):警告C4996: ' inet_ntoa':使用inet_ntop()或InetNtop()代替或定义 _WINSOCK_DEPRECATED_NO_WARNINGS用于禁用已弃用的API警告C:\ Program Files(x86)\ Windows Kits \ 8.1 \ Include \ um \ Winsock2.h(1868): 注意:见'inet_ntoa'的声明Utility.cpp(399):警告C4244: ' =&#39 ;:转换自' uintptr_t' to' FIX :: thread_id',可能会丢失 data Utility.cpp(418):警告C4312:'输入':转换自 ' FIX :: thread_id单'到'无效*'更大的Utility.cpp(419):警告 C4312:'输入&#39 ;:转换自' FIX :: thread_id'处理' HANDLE'的 更大尺寸Utility.cpp(428):警告C4312:'输入':转换 来自' FIX :: thread_id'处理' HANDLE'更大的Utility.cpp(438): 警告C4311:'输入':指针截断来自' HANDLE'至 ' unsigned int' Utility.cpp(438):警告C4302:'输入': 截断' HANDLE'到' unsigned int'
DF