您的位置:首页 > 编程语言 > C语言/C++

ubuntu下c++链接数据库

2017-07-28 16:29 155 查看
首先卸载mysql,因为在用c++链接库时一直找不到,感觉是哪里弄错,所以想要整个卸载重新安装命令如下:

sudo apt-get remove mysql-*

dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

接着我们要重新安装mysql,以及devel开发包,这是在linux下进行数据库开发需要装的,命令如下:

sudo apt-get install mysql-server

sudo apt-get install libmysqld-dev

apt-get install mysql-client

apt-get install libmysqlclient-dev

然后就可以在/usr/include/mysql路径下找到mysql.h这个库了,然后include时要用mysql/mysql.h



运行时需要链接libmysqlclient.so,找不到的话可以用下面命令,记得加sudo不然很多路径没权限访问,就可以看到了

sudo find / -name '*libmysql*' 



然后就可以进行编译

sudo g++ -o target  main.cpp -L~/usr/lib/x86_64-linux-gnu -lmysqlclient

测试代码:

#include <iostream>
#include <mysql/mysql.h>

using namespace std;

int main()
{
MYSQL_RES *result;
MYSQL_ROW row;
MYSQL *connection;
MYSQL mysql;
int state;
mysql_init(&mysql);
connection = mysql_real_connect(&mysql, "ip", "db", "pw", "tb",0 ,0 ,0);
if(connection == NULL){
cout << mysql_error(&mysql) << endl;
return 0;
}
else cout << "connect successfully" << endl;

state = mysql_query(connection, "select ip,group_id from ip_group");
if(state != 0){
cout << mysql_error(connection) << endl;
return 0;
}
else cout << "connect successfully" << endl;
}


结果:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: