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

CMake配置MySQL Connector/C++项目链接报错找不到库文件问题

构建失败核心原因
  • 链接了不存在的依赖:你代码里根本没用到curl库,却在target_link_libraries里加了curl,链接器找不到这个库直接报错,删掉即可。
  • 编译器和库版本不匹配:你当前用MinGW编译,但你配置的库路径是lib64/vs14,这是给Visual Studio的MSVC编译器用的二进制库,和MinGW的ABI不兼容,MinGW无法识别这类库文件。要么换MSVC作为项目工具链,要么重新下载适配MinGW的MySQL Connector/C++版本。
  • 链接的库名错误:MySQL Connector/C++的JDBC动态库实际名称是mysqlcppconn,不是你写的mysql-connector-c++,链接器按你给的名称找不到对应.lib/.a文件。
  • 头文件配置冗余:你重复添加了多层include目录,导致头文件引用路径混乱,很容易触发头文件找不到的错误。
修正方案
  • 工具链选择:如果不想重新下载库,直接在CLion的设置里把项目工具链切换为Visual Studio(需要提前安装Visual Studio,勾选C桌面开发组件),可以直接复用你现在下载的vs14版本库。如果坚持用MinGW,先删除现有Connector/C包,下载对应MinGW版本的安装包重新解压到项目目录。
  • 替换CMakeLists.txt内容(以下以MSVC工具链为例,用MinGW的话把库路径换成对应MinGW版本的路径即可):
cmake_minimum_required(VERSION 3.22)
project(inserting_database)

set(CMAKE_CXX_STANDARD 23)

# 配置MySQL Connector路径
set(MYSQL_CPPCONN_DIR ${CMAKE_SOURCE_DIR}/mysql-connector-c++)
# 仅添加顶层include目录即可,不需要嵌套添加子目录
include_directories(${MYSQL_CPPCONN_DIR}/include)
# 配置库搜索路径
link_directories(${MYSQL_CPPCONN_DIR}/lib64/vs14)

add_executable(insert_debug main.cpp)
# 链接正确的库名,删除无用的curl依赖
target_link_libraries(insert_debug mysqlcppconn)

# 编译完成后自动把dll复制到可执行文件目录,避免运行时提示找不到动态库
add_custom_command(TARGET insert_debug POST_BUILD
    COMMAND ${CMAKE_COMMAND} -E copy_if_different
        "${MYSQL_CPPCONN_DIR}/lib64/vs14/mysqlcppconn.dll"
        $<TARGET_FILE_DIR:insert_debug>
)
  • 修正main.cpp里的头文件引用,统一路径格式:
#include <jdbc/mysql_connection.h>
#include <jdbc/cppconn/driver.h>
#include <jdbc/cppconn/exception.h>
#include <jdbc/cppconn/prepared_statement.h>

提示:不同版本的Connector/C++头文件目录结构可能有细微差异,如果你按上面写了还是找不到头文件,直接打开解压后的include文件夹看实际文件层级,对应调整路径即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 03:33:23