error C2146: syntax error : missing ';' before identifier 'fd'

这几天用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>即可!

你可能感兴趣的:(编程,c,mysql,socket,perl,编译器)