这几天用mysql5.1 c++ api +VC6.0编程时编译器报错:error C2146: syntax error : missing ';' before identifier 'fd'
跟进mysql_com.h文件中的 my_socket fd; /* For Perl DBI/dbd */行,发现编译器对my_socket不能识别,而在mysql.h中对my_socket有定义:#define my_socket SOCKET,那么接下来就是SOCKET定义了。SOCKET定义是在winsock2.h中,但由于加了预定义#ifdef __LCC__所以头文件winsock2.h根本没有包含进来,没办法只有自己包含了。
解决办法:在#include<mysql.h>前加上#include<winsock2.h>即可!