You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何MSYS2中没有MySQL Connector/C++软件包?

在MSYS2中用C++连接MySQL的解决方案

由于MSYS2官方源没有提供MySQL Connector/C++的预编译包,你可以通过以下两种方式解决:

方式一:使用兼容的MariaDB客户端库(快速方案)

MariaDB的C客户端库与MySQL API完全兼容,直接安装即可用于C++代码连接MySQL:

  1. 打开MSYS2的MinGW64终端,执行安装命令:
    pacman -S mingw-w64-x86_64-libmariadbclient
    
  2. 编写C++代码时,直接调用MySQL的C API(或基于该库封装的逻辑),示例编译命令:
    g++ your_code.cpp -o your_program -lmysqlclient
    

方式二:手动编译MySQL Connector/C++(官方库方案)

如果必须使用官方的MySQL Connector/C++,可手动编译源码:

  • 先安装编译依赖:
    pacman -S mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc mingw-w64-x86_64-boost
    
  • 下载MySQL Connector/C++的源码包,解压后进入源码目录,执行以下步骤:
    mkdir build && cd build
    cmake .. -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=/mingw64 -DMYSQLCLIENT_INCLUDE_DIR=/mingw64/include/mariadb -DMYSQLCLIENT_LIBRARY=/mingw64/lib/libmariadbclient.dll.a
    mingw32-make && mingw32-make install
    

编译完成后,即可在项目中链接Connector/C++的库文件进行开发。

测试代码示例

以下是基于MariaDB客户端库的简单连接测试代码:

#include <mysql.h>
#include <iostream>

int main() {
    MYSQL *conn = mysql_init(nullptr);
    if (!mysql_real_connect(conn, "localhost", "你的用户名", "你的密码", "目标数据库名", 3306, nullptr, 0)) {
        std::cerr << "连接失败: " << mysql_error(conn) << std::endl;
        return 1;
    }
    std::cout << "数据库连接成功!" << std::endl;
    mysql_close(conn);
    return 0;
}

内容的提问来源于stack exchange,提问作者user10704605

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 15:06:09