C++ MySQL开发环境配置(Windows&Linux)
上篇文章我们介绍了MySQL数据库的安装,对于日常的MySQL数据库使用者来说已经够用了,但是对于MySQL数据库的开发人员还需要对MySQL的开发环境进行配置,本篇文章详细介绍了MySQL在Windows和Linux下开发环境的配置。
MySQL安装教程:https://blog.csdn.net/weixin_64647426/article/details/134105615
MySQL提供了可供开发的官方库文件,但在MySQL数据库开发之前需要将官方提供的库文件配置到开发的项目中,才能进行数据库开发的操作,所以学会MySQL开发环境的配置是至关重要的。
Windows下配置
MySQL开发头文件和库文件
找到MySQL的安装目录(因个人安装位置而意)
在安装目录下找到lib和include目录
记录下include和lib的绝对路径
如果是Linux环境,则一般在/usr/include/mysql
在lib下面有这样几个文件
这三个文件分成两组
- mysqlclient.lib一组,为c/c++下静态库引用,使用这个静态库,其他的那两个库都不需要了;一般在Linux编程下会使用这个库
- libmysql.lib和libmysql.dll一组,为c/c++下动态库引用,其中dll是为了可以使程序能够正常的运行(要与exe在同一个目录下);其中lib是给编译器使用的,相当于一张表,告诉编译器去dll里找函数的实现,而不是等着我自己实现,起到指引的作用。
而Linux下,则是引用/usr/lib/x86_64-linux-gnu/libmysqlclient.a作为静态库引用或者引用/usr/lib/x86_64-linux-gnu/libmysqlclient.so作为动态库引用
建立项目并配置环境
首先新建一个VS的"控制台应用"项目
把MySQL下的include文件夹和那三个库(使用静态或动态导入对应的库文件就可以)文件复制到项目目录下
设置MySQL的include路径
右键项目点击属性→点击VC++目录→在"包含目录"下添加include
导入动态库的那个静态库
右键项目点击属性→点击链接器→点击输入→在"附加依赖项"中添加libmysql.lib
也可以用代码的方式来导入库(只有VS下好使,Linux是不行的):#pragma comment(lib, "libmysql.lib")
到这里头文件引用和库的导入就完成了,下面我们就用代码在测试一下
代码测试
#include <iostream>
#include <mysql.h>
int main()
{
MYSQL* mysql = new MYSQL();
MYSQL* pDB = mysql_init(mysql);
if (pDB == NULL) {
std::cout << "mysql_init failed!" << std::endl;
return 0;
}
mysql_real_connect(pDB, "localhost", "root", "******"/*替换成你对应用户的密码*/, "mysql", 3306, NULL, 0);
mysql_close(pDB);
return 0;
}
用上面的代码对我们环境的配置进行设置,你会发现编译有问题
问题
在上面的代码进行编译的时候,会出现编译不通过的问题,我们来看他给出的问题
这是由于VS默认的运行环境为32位,我们下载的MySQL是64位的,而我们现在的运行环境是32位,就导致了这个错误,把运行环境改成64位就可以了,之后需要把我们上面的环境配置在64位下在来一边就可以了
现在编译问题就没有了
Linux下配置
Linux下配置MySQL开发环境比较简单,需要有MySQL的devel开发环境,之前没有安装的安装后才可以使用
CentOS安装mysql-devel命令:yum install -y mysql-community-devel
安装成功后应该在/lib64/mysql/和/usr/include/mysq目录存在文件
存在这些文件,就可以写一段简单的测试代码进行测试是否能正确使用
代码编译是要加上-L/lib64/mysql -lmysqlclient参数
代码测试
#include <stdio.h>
#include <stdlib.h>
#include <mysql/mysql.h>
int main(int argc, char** argv)
{
MYSQL* mysql = (MYSQL*)malloc(sizeof(MYSQL));
MYSQL* pDB = mysql_init(mysql);
if (pDB == NULL) {
printf("mysql_init failed!\n");
return 0;
}
mysql_real_connect(pDB, "localhost", "root", "******"/*替换成你对应用户的密码*/, "mysql", 3306, NULL, 0);
mysql_close(pDB);
free(mysql);
return 0;
}
编译代码:gcc testmysql.c -L/lib64/mysql -lmysqlclient -o test.out
到这里MySQL在Windows和Linux下开发环境的配置就介绍完了,如果配置过程中出现错误欢迎随时评论说出你所遇到的问题,看到后我会一一回答。
感谢观看学习,大佬们多多指点,愿明天的自己会感谢当下的努力!!!!