c++连接mysql并提示“无法解析的外部符号 _mysql_server_init@12”解决方法&提示缺少“libmysql.dll”
课程作业要用c++连接mysql server,但是出现些小问题,经查阅资料已经解决,做一下笔记。
环境:vs2017, mysql版本是8.0.16-winx64。
设置项目属性
项目 - 配置属性 - 链接器 - 常规 - 附加库目录, 添加C:\mysql\mysql-8.0.16-winx64\lib。 也是要换成自己的目录。
项目 - 配置属性 - 链接器 - 输入 - 附加依赖项 添加libmysql.lib.

其实就是将头文件和库文件包含进来。
测试程序
//下面的代码是一个实现C++连接MYSQL数据库的很好的例子 #include <winsock.h>
#include <iostream>
#include <string>
#include <mysql.h>
using namespace std; #pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "libmysql.lib")
//单步执行,不想单步执行就注释掉
#define STEPBYSTEP int main() {
cout << "****************************************" << endl; #ifdef STEPBYSTEP
system("pause");
#endif //必备的一个数据结构
MYSQL mydata; //初始化数据库
if ( == mysql_library_init(, NULL, NULL)) {
cout << "mysql_library_init() succeed" << endl;
}
else {
cout << "mysql_library_init() failed" << endl;
return -;
} #ifdef STEPBYSTEP
system("pause");
#endif //初始化数据结构
if (NULL != mysql_init(&mydata)) {
cout << "mysql_init() succeed" << endl;
}
else {
cout << "mysql_init() failed" << endl;
return -;
} #ifdef STEPBYSTEP
system("pause");
#endif //在连接数据库之前,设置额外的连接选项
//可以设置的选项很多,这里设置字符集,否则无法处理中文
if ( == mysql_options(&mydata, MYSQL_SET_CHARSET_NAME, "gbk")) {
cout << "mysql_options() succeed" << endl;
}
else {
cout << "mysql_options() failed" << endl;
return -;
} #ifdef STEPBYSTEP
system("pause");
#endif //连接数据库
if (NULL != mysql_real_connect(&mydata, "localhost", "root", "", "mysql",, NULL, )) //这里的地址,用户名,密码,端口可以根据自己本地的情况更改
{
cout << "mysql_real_connect() succeed" << endl;
}
else {
cout << "mysql_real_connect() failed" << endl;
return -;
} return ;
}
如果能运行,OK!后面的不用看了。
问题
无法解析的外部符号 _mysql_real_connect...
方法一:由于VS建立的项目默认为WIN32 项目,需将平台改为64。设置如下:
(1) 项目—》属性—》配置属性—》配置管理器—》活动解决方案平台,下拉选新建,出现一个新的对号框,在键入选择新平台中选择X64,如下图所示:

(2)不是将C:\mysql\mysql-8.0.16-winx64\lib(安装MySql下的lib文件夹)中的libmysql.dll拷到项目下的Debug文件夹中,而是拷到项目下x64\Debug中(或者C:\Windows\System32中)。重启(必需的)。完毕。。
没有第二步会提示缺少“libmysql.dll”。
参考链接:
1. c++连接mysql并提示“无法解析的外部符号 _mysql_server_init@12”解决方法
2. VS中MFC连接MySQL由于系统不同位(32/64)引起的错误:无法解析的外部符号 _mysql_init@4、_mysql_query
3. 测试代码
c++连接mysql并提示“无法解析的外部符号 _mysql_server_init@12”解决方法&提示缺少“libmysql.dll”的更多相关文章
- error LNK2019: 无法解析的外部符号(编程解决方法)
正在编译...1>Ipv4IPv6traceroutesrc.cpp1>d:\研究生\c++\study\test\test\ipv4ipv6traceroutesrc.cpp(461) ...
- java连接mysql数据库详细步骤解析
java连接mysql数据库详细步骤解析 第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar 第二步:导入下载的J ...
- 远程连接MySQL错误“plugin caching_sha2_password could not be loaded”的解决办法
远程连接MySQL错误"plugin caching_sha2_password could not be loaded"的解决办法 问题描述: 今天在阿里云租了一个服务器,当我用 ...
- error LNK2019: 无法解析的外部符号 ___glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用 1>GEARS.obj : er
转: http://blog.csdn.net/bill_ming/article/details/8150111 opengl的高级菜鸟问题 看了一本书<OpenGL三维图形系统开发与应用技术 ...
- error LNK2019 无法解析的外部符号 __imp__accept@12
用VS2015编译CuraEngine,出现如下错误: PlatformSocket.obj error LNK2019 无法解析的外部符号 __imp__accept@12 PlatformSo ...
- MySQL中遇到的几种报错及其解决方法
MySQL中遇到的几种报错及其解决方法 1.[Err] 1064 - You have an error in your SQL syntax; check the manual that corre ...
- VS2013 OpenGL 开发程序时: error LNK2019: 无法解析的外部符号 __imp____glutInitWithExit@12,error LNK2019: 无法解析的外部符号 __imp____glutCreateWindowWithExit@8
环境:Windows 下 OpenGL ,Used in VS2013 前言:刚接触 OpenGL 的人,第一件事当然就是配置环境,说起配置环境 OpenGL 和 DirectX 相差不多,同时也基本 ...
- safari无法调试iphone提示“无可检查的应用程序”的解决方法
iphone上打开safari,随便访问一个网站,mac上通过Safari的开发,我的iphone是可以看到的.如果打开APP,就提示“无可检查的应用程序”. 解决方法 使用XCode运行我们的App ...
- 安装office2010提示要安装MSXML6.10.1129.0解决方法
系统win7 32位 安装office2010出现了错误,提示要安装MSXML6.10.1129.0解决方法 1.下载MSXML6.10.1129.0进行安装 2.若本机已安装过不管用: a.在运行里 ...
随机推荐
- X-Content-Type-Options和 X-XSS-Protection
X-Content-Type-Options 互联网上的资源有各种类型,通常浏览器会根据响应头的Content-Type字段来分辨它们的类型.例如:"text/html"代表htm ...
- 2017-10-17 NOIP模拟赛
Reverse #include<iostream> #include<cstdio> #include<cstring> using namespace std; ...
- 我的省选 Day -5
Day -5 时间载着我们,一天又一天,呼啸而过. 已经记不清今天是Day 负几了,总之还有不到一个星期就要去参加选拔赛了. 写一下今晚做NOI2009的心路历程. T1题意有点绕,但很快看出是个二分 ...
- 洛谷P4114 Qtree1
题目描述 给定一棵\(n\)个节点的树,有两个操作: \(CHANGE\) \(i\) \(t_i\) 把第\(i\)条边的边权变成\(t_i\) \(QUERY\) \(a\) \(b\) 输出从\ ...
- CF616D Longest k-Good Segment
题目描述 给定一个包含\(n\)个整数的序列\(a\),\(0\le a_i \le 10^6\),询问不重复数字个数\(\le k\)的最长区间的左右端点.如果有多解输出任意一组. 输入输出格式 输 ...
- html_entity_decode与htmlentities函数
htmlentities() 函数把字符转换为 HTML 实体.html_entity_decode() 函数把 HTML 实体转换为字符.例子:$a = '<div> <p> ...
- nginx大量TIME_WAIT的解决办法
1.netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 查看time_wait 很大 2.解决此问题需要对sysc ...
- Windows 新增 Sublime Text3 右键快捷方式
Win10 创建 Sublime Text 3 右键快捷方式 Windows + R 输入 regedit 打开注册表编辑器: 依次找到 计算机\HKEY_CLASSES_ROOT\*\shell: ...
- Apache服务器配置虚拟域名
我在别处发的帖子 http://www.52pojie.cn/thread-599829-1-1.html
- Windows应用程序未响应
昨天在安装postgresql的扩展功能postgis的时候,stackbuilder刚打开就死掉,一直未响应,刚开始以为是内存的原因,后来发现并没有占用太多内存,最后打开vpn发现就可以了,原来是网 ...