VS中MFC连接MySQL由于系统不同位(32/64)引起的错误:无法解析的外部符号 [email protected]、_mysql_query

VS中建立MFC项目连接Mysql 的一般步骤见文章:《VS中MFC连接MySQL的方法》

但是由于系统是32位或者64位的不同,编译时会引起如下错误:

无法解析的外部符号 _mysql_real_connect, 无法解析的外部符号 _mysql_query,无法解析的外部符号 _mysql_init;

对于32位只要按照上述文章即可。

对于64位,有两种方法解决上述错误:

方法一:由于VS建立的项目默认为WIN32 项目,需将平台改为64。设置如下:

     (1) 项目—》属性—》配置属性—》配置管理器—》活动解决方案平台,下拉选新建,出现一个新的对号框,在键入选择新平台中选择X64,如下图所示:

VS中MFC连接MySQL由于系统不同位(32/64)引起的错误:无法解析的外部符号 _mysql_init@4、_mysql_query


    (2)不是将C:\ProgramFiles\MySQL\MySQL Server 5.7\lib(安装MySql下的lib文件夹)中的libmysql.dll拷到项目下的Debug文件夹中,而是拷到项目下x64\Debug中(或者C:\Windows\System32中)。完毕。。

方法二:要包含32位的lib文件和dll文件。

32/64位MySql(lib、dll)资源:  

(1)首先下载32位的lib文件和dll文件。

(2)需要将32位的lib文件拷到C:\Program Files\MySQL\MySQL Server 5.7\lib(安装Mysql下的lib文件夹),拷贝之前需要将原来的libmysql.lib更名。也可以不改变原来的lib文件名称,而将32位的libmysql.lib 改为libmysql32.lib 同时在:

项目—>属性—>连接器—>输入—>附加依赖项:添加libmysql32.lib(名称和之前保持一致)。编译通过之后,运行还要将32位的libmysql.dll放在工程目录Debug文件夹中或者System32下。

原文地址:

;