mysql c-apiとboost :: asioの間のウィンドウヘッダーと競合しているようです。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_)
私はブースト:: ASIO最初が含まれている場合は、私が取得:C4005警告: '_WIN32_WINNT':マクロredefin
は\ CONFIG-win.h(24)を含みition
/* 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にはfineが含まれていますが、mysqlは警告の後ろにws2tcpip.hとmswsock.hのエラーが続きます –