主要产生的原因
当选择了MFC 的Windows Sockets 后,在头文件 “stdAfx.h"中会多出 下面这句话**#include <afxsock.h>** 。在头文件<afxsock.h>中可以看见 里面引用了 #include <winsock.h>。
在头文件"mysql.h” 中同样有这样的引用:
#ifndef my_socket_defined
#ifdef _WIN32
#include <windows.h>
#ifdef WIN32_LEAN_AND_MEAN
#include <winsock2.h>
#endif
正由于windows.h winsock.h 和winsock2.h的重复包含,导致程序在编译期间都出现很多错误与警告。
解决方法
将数据库头文件 mysql.h 添加到afxsock.h 前面即可。
#include “mysql.h”
#include <afxsock.h>