linux中c++程序无法连接mysql数据库
初次在linux系统中,编写cpp连接mysql数据库。其步骤为下:
- 编写cpp项目
首先,连接mysql数据库,需要包含头文件mysql.h,即#include<mysql/mysql.h>
然后,创建MYSQL的对象,即定义MYSQL的对象
MYSQL mysql;
接着,对mysql数据库进行初始化
mysql_init(&mysql);
然后,调用函数,连接mysql数据库,连接成功,则会返回一个可以操作数据库的句柄,否则返回NULL
if (!(mysql_real_connect(&mysql, "localhost", "root", "123456", "databasename", 0, NULL, 0))) {
cout << "Couldn't connect to Database!\n : " << mysql_error(&mysql);
exit(1);
}
else {
printf("Database connection succeeded. Connected...\n\n");
}
- 编译C++代码文件
在这一步时,刚开始使用的是
g++ test.cpp -o test,其含义是编译test.cpp文件,然后生成名为test的可执行文件
但是,可能是没有配置环境变量的原因,编译总是失败,错误信息为 未定义的mysql_init,推断错误原因 可能这个头文件没有include进来的原因,导致编译器不认识这个函数,因此在网上查阅资料后,得知一种手动指定库的方法,参考linux下C++连接mysql
g++ test.cpp -I /usr/include/mysql -L/usr/lib/mysql -lmysqlclient -o test
完美解决该问题。。。
- 运行可执行文件
使用命令 ./test