64位的系统安装了32位的MySQL后,写了一个连接MySQL数据库进行表的查询操作,发现总是出现rror LNK2019错误,提示一些MySQL封装的函数在main函数中被引用。
1>mysql_test.obj : error LNK2019: 无法解析的外部符号 mysql_close,该符号在函数 main 中被引用
1>mysql_test.obj : error LNK2019: 无法解析的外部符号 mysql_free_result,该符号在函数 main 中被引用
1>mysql_test.obj : error LNK2019: 无法解析的外部符号 mysql_fetch_row,该符号在函数 main 中被引用
1>mysql_test.obj : error LNK2019: 无法解析的外部符号 mysql_num_fields,该符号在函数 main 中被引用
1>mysql_test.obj : error LNK2019: 无法解析的外部符号 mysql_fetch_field,该符号在函数 main 中被引用
1>mysql_test.obj : error LNK2019: 无法解析的外部符号 mysql_num_rows,该符号在函数 main 中被引用
1>mysql_test.obj : error LNK2019: 无法解析的外部符号 mysql_store_result,该符号在函数 main 中被引用
1>mysql_test.obj : error LNK2019: 无法解析的外部符号 mysql_query,该符号在函数 main 中被引用
1>mysql_test.obj : error LNK2019: 无法解析的外部符号 mysql_real_connect,该符号在函数 main 中被引用
1>mysql_test.obj : error LNK2019: 无法解析的外部符号 mysql_init,该符号在函数 main 中被引用
1>D:\VS2010 Workspace\MySQL_test\x64\Debug\MySQL_test.exe : fatal error LNK1120: 10 个无法解析的外部命令
网上搜索了一下,检查自己的VS2010项目的设置,发现MySQL安装目录下的include和lib文件夹都包含到项目依赖库了。这说明不是项目设置的问题,按网上说的将win32换成x64也不行。所以我重新安装了一个64位版本的MySQL。设置好include和lib后,发现错误解决了,编译通过了,但是提示计算机丢失libmysql.dll文件,
将下载的64位的MySQL安装程序中的libmysql.dll拷贝到C:\Windows\System32文件夹下后,再次运行程序,能正确从数据库中查询到数据,说明连接成功。