VS2013 c++连接mysql 在源文件中添加libmysql.dll报错 不添加也报错! 请问我该怎么办?

发布于 2022-09-02 00:16:10 字数 1528 浏览 15 评论 0

main.cpp

#include "sqlConnection.h"
#include <iostream>
int main(){
sqlConnection *sqlC = new sqlConnection();
sqlC->ifSucceed();
}

sqlConnection.h

#include <Windows.h>
#include <stdio.h>
#include <winsock.h>
#include "mysql.h"
#include <iostream>
#pragma once

using namespace std;

class sqlConnection
{
public:
sqlConnection();
~sqlConnection();
void ifSucceed();
MYSQL mysql;
MYSQL_RES *result;
MYSQL_ROW row;
};

sqlConnection.cpp

#include "sqlConnection.h"

sqlConnection::sqlConnection()
{
    mysql_init(&mysql);
    mysql_real_connect(&mysql, "567aaffa1a70e.sh.cdb.myqcloud.com", "cb_outerroot", "cppw123", "librarySys", 7726, NULL, 0);    
}

void sqlConnection::ifSucceed(){
    char *sql = "select * from tb_bookcase";
    mysql_query(&mysql, sql);
    result = mysql_store_result(&mysql);
    if ((row = mysql_fetch_row(result)) != NULL){
    cout << "succeed!" << endl;
}else{
     cout << "faiiiiiiiiled" << endl;
 }
}
sqlConnection::~sqlConnection()
{
}

存在libmysql.dll报错信息为:
0x00007FFED00441E6 (libmysql.dll) (librarySys.exe 中)处有未经处理的异常: 0xC0000005: 读取位置 0x0000000000000010 时发生访问冲突。
然后被迫中断,目前vs给我一个选项 更改现有PDB和二进制文件搜索路径并重试,但是我才疏学浅,确实不懂

若把libmysql.dll文件删除 则报错信息为:
无法启动此程序,因为计算机中丢失libmysql.dll。尝试重新安装该程序以解决问题。

真的挺困惑的,也很无奈。这种bug实在不知道如何改。
顺便一提,我已经尝试很多种vs2013连接mysql的方法,每次都是各种奇怪的报错。求大神解救!若有人为很不错的连接mysql的方法 也请告知!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

我的黑色迷你裙 2022-09-09 00:16:10

下载正确版本的libmysql.dll
可能是这个依赖的libmysql.dll跟你其他的库有冲突

香橙ぽ 2022-09-09 00:16:10

你可能需要VS2013版本的libmysql.lib。

橘亓 2022-09-09 00:16:10

dll版本怎么管理, 有没有统一标识dll文件的版本的字段,怎么判断相互依赖的关系,除了不停地试

我一直都在从未离去 2022-09-09 00:16:10

我以前也遇到过,下载lib和dll的版本有关系。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文