mysql 指针不合法_MySQL Connector C – 指针无效

我正在尝试使用MySQL C Connector连接到数据库.我添加了库和源代码正确编译了所有必要的#include语句.我使用的代码如下:

#include

#include

#include "mysql_connection.h"

#include

#include

#include

#include

using namespace std;

int main(void)

{

using namespace sql;

Driver *driver;

Connection *con;

driver = get_driver_instance();

con = driver -> connect("tcp://127.0.0.1:3306/test", "test", "test");

}

代码是从示例中获取的,应该可以正常工作.我已经大大缩短了代码,因为它是在最后的“driver – > connect”行中抛出错误.我的错误消息如下:

*** glibc detected *** /home/username/NetBeansProjects/mysql/dist/Release/GNU-Linux-x86/mysql:

free(): invalid pointer: 0x091dd468 ***

我在Linux Mint Lisa上运行最新版本的MySQL并使用NetBeans 7.1作为IDE.如上所述,代码正确编译,并且它位于发生错误的最后一个连接行.任何有关其他连接机制的帮助或建议都将非常感激.

UPDATE

以下是Driver类中定义连接的代码

class CPPCONN_PUBLIC_FUNC Driver

{

protected:

virtual ~Driver() {}

public:

// Attempts to make a database connection to the given URL.

virtual Connection * connect(const sql::SQLString& hostName, const sql::SQLString& userName, const sql::SQLString& password) = 0;

virtual Connection * connect(ConnectOptionsMap & options) = 0;

...

没什么可看的……在我的拙见中……

解决方法:

我已经为Ubuntu 12.04找到了这个问题的解决方案,它花了我大约48小时没有睡觉但是好了,这里就是.我确定这个修复程序适用于其他版本的Ubuntu.

从http://www.sopcast.com/download/libstdcpp5.tgz下载libstdc .so.5.您需要提取并将文件放在/usr/lib中.

确保在使用g构建应用程序时添加-llibstdc .so.5(此链接stdc v5)

然后谷歌’Connector c Ubuntu 12.04’并寻找Builds并下载你的Arch .deb.

对于Ubuntu 12.04,这里是.debs的URL

https://launchpad.net/ubuntu/precise/+source/mysql-connector-c++/+builds

选择你的拱门即. Amd64并在Built Files下下载两个.debs.使用包管理器打开并安装.您应该能够在没有和发布的情况下运行应用程序.

编辑

您不需要链接libstdc .so.5,您可能必须在您的系统上,但在Ubuntu 12.04 amd64上它不需要.

标签:c-2,mysql,mysql-connector

来源: https://codeday.me/bug/20190626/1291016.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值