似乎與mysql c-api和boost :: asio之間的windows頭文件有衝突。C++ mysql和boost asio頭衝突
如果我加入MySQL的第一次,我得到:
升壓/ ASIO /細節/ socket_types.hpp(27):致命錯誤C1189:#錯誤:WINSOCK.H已經被列入
#if defined(BOOST_WINDOWS) || defined(__CYGWIN__)
# if defined(_WINSOCKAPI_) && !defined(_WINSOCK2API_)
# error WinSock.h has already been included
# endif // defined(_WINSOCKAPI_) && !defined(_WINSOCK2API_)
如果包括我的boost :: ASIO第一,我得到:
包括\ CONFIG-win.h(24):警告C4005: '_WIN32_WINNT':宏觀雷德芬銀行足球比賽
/* Defines for Win32 to make it compatible for MySQL */
#ifdef __WIN2000__
/* We have to do this define before including windows.h to get the AWE API
functions */
#define _WIN32_WINNT 0x0500
#else
/* Get NT 4.0 functions */
#define _WIN32_WINNT 0x0400
#endif
有一些解決這個辦法,爲什麼是MySQL的試圖迫使Windows版本和提升試圖強制執行,它包括反正Winsock的自身?
boost包含很好,但mysql給出了警告,後面跟着ws2tcpip.h和mswsock.h中的一堆錯誤 – 2009-08-03 13:36:22