Cmakelist.txt之win-mysql

1.环境位置

2.cmakelist.txt配置

cmake_minimum_required(VERSION 3.16)
​
project(MYSQL LANGUAGES CXX)
​
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
​
​
add_executable(MYSQL main.cpp)
​
​
# 添加包含目录--链接库--单个或多个
include_directories("C:/Program Files/MySQL/MySQL Server 8.0/include")
file(GLOB LIB_FILES "C:/Program Files/MySQL/MySQL Server 8.0/lib/*.lib")
# 遍历并链接找到的库文件
foreach(LIB_FILE ${LIB_FILES})
    target_link_libraries(MYSQL ${LIB_FILE})
    message(${LIB_FILE})
endforeach()
​
​
​
include(GNUInstallDirs)
install(TARGETS MYSQL
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
​

3.测试代码

#include <iostream>
#include"mysql.h"
using namespace std;
int main()
{
    cout << "mysq version:" <<mysql_get_client_info()<< endl;
    // 初始化MySQL连接对象
    MYSQL *conn = mysql_init(NULL);
    if (conn == NULL) {
        std::cerr << "mysql_init() failed" << std::endl;
        return 1;
    }
    // 连接到MySQL数据库
    if (mysql_real_connect(conn, "localhost", "root", "123456", "db01", 0, NULL, 0)== NULL) {
        std::cerr << "mysql_real_connect() failed: " << mysql_error(conn) << std::endl;
        mysql_close(conn);
        return 1;
    }
    // 执行查询语句
    if (mysql_query(conn, "SELECT * FROM tb_user")) {
        std::cerr << "mysql_query() failed: " << mysql_error(conn) << std::endl;
        mysql_close(conn);
        return 1;
    }
    // 获取结果集
    MYSQL_RES *result = mysql_store_result(conn);
    if (result == NULL) {
        std::cerr << "mysql_store_result() failed: " << mysql_error(conn) << std::endl;
        mysql_close(conn);
        return 1;
    }
    // 获取结果集中的行数和列数
    int num_fields = mysql_num_fields(result);
    MYSQL_ROW row;
    while ((row = mysql_fetch_row(result))) {\
​
            for (int i = 0; i < num_fields; i++) {
            std::cout << row[i] << " ";
        }
        std::cout << std::endl;
    }
    // 释放结果集内存
    mysql_free_result(result);
    // 关闭数据库连接
    mysql_close(conn);
    return 0;
}
​

4.结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值