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下开发环境的配置就介绍完了,如果配置过程中出现错误欢迎随时评论说出你所遇到的问题,看到后我会一一回答。

感谢观看学习,大佬们多多指点,愿明天的自己会感谢当下的努力!!!!