环境:MySQL8.0.35

在MySQL8中,C API (libmysqlclient) is included in MySQL 8.0。因此不需要安装MySQL Connector

  1. 找到libmysqlclient相关的库文件,头文件放在项目目录下
  2. 编写项目配置文件CMakeLists.txt如下所示:
#要求最低cmake程序版本
cmake_minimum_required(VERSION 3.12)

#本工程的名字
project(TEST)

#本工程支持的C++版本
set(CMAKE_C_STANDARD 11)


# 添加编译选项,支持UTF-8
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/source-charset:utf-8>") 

file(GLOB copyResources "./assets/libmysql.dll")
file(COPY ${copyResources} DESTINATION ${CMAKE_BINARY_DIR}/)
  
# 包含头文件目录
include_directories(${CMAKE_SOURCE_DIR}/include)

# 添加源文件
add_executable(TEST 
    connect_mysqld_demo.c
)

# 链接必要的库
target_link_libraries(TEST PRIVATE 
     ${CMAKE_SOURCE_DIR}/third_party/libmysql.lib

)

  1. 测试程序connect_mysqld_demo.c如下所示:
#include <stdio.h>

#include <mysql.h>

int main()
{
	MYSQL m;
	MYSQL_RES* res;
	MYSQL_ROW row;

	//初始化数据库
	mysql_init(&m);
	//连接数据库
	if (mysql_real_connect(&m, "127.0.0.1", "root", "123456", "test", 3306, NULL, 0))
	{
		printf("数据库连接成功\n");
	}
	else
	{
		printf("数据库连接失败,%s\n", mysql_error(&m));
	}

	mysql_close(&m);

	return 0;
}

  1. 运行结果如下: