Bootstrap

error C2065: “MYSQL”: 未声明的标识符----头文件顺序导致。。。

建立win32程序的 C++程序,使用mysql的C函数进行编程,会报错标题所示。进行了以下操作,重点解决方法为第三步。
1.首先检查了动态链接库是正确的。

#include "../include/mysql.h"
#pragma comment(lib,"..\\lib\\libmysql.lib")

相应的dll和lib都在各自的文件夹下。
2.怀疑我安装的是64位操作系统的软件,工程上应该是X64 而不是X86.修改为X64同样配置动态链接库的时候依然不对。
3.最后,发现error C2065: “MYSQL”: 未声明的标识符,
头文件要放在最后,就解决了。我的头文件如下所示:

#include <winsock2.h>
#include "../include/mysql.h"
#include "pch.h"
#include <iostream>
#pragma comment(lib,"..\\lib\\libmysql.lib")

修改为如下所示的时候,编译就过去啦

#include "pch.h"
#include <iostream>
#include <winsock2.h>
#include "../include/mysql.h"
#pragma comment(lib,"..\\lib\\libmysql.lib")

总结:数据库的头文件放置的位置问题,需要放在最后才可以。而且winsocket的头文件要放置在 mysql之前,否则会报错某变量未定义。

;