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

Windows下运行MySQL Connector/C++ 8.0.27示例程序出现链接错误

问题根因

Windows平台下MySQL Connector/C++的头文件默认通过预编译宏判断依赖的库类型,未指定静态库宏的情况下,头文件会给所有导出接口添加__declspec(dllimport)修饰,导致编译生成的目标文件会查找带__imp__前缀的导入符号,和静态库内不带该前缀的符号无法匹配,因此报LNK2001错误。

解决方案

按如下顺序排查修改即可:

  • 给测试项目添加预编译宏STATIC_CONCPP,该宏会告知头文件使用静态库版本的接口定义,移除自动添加的dllimport修饰。
    Visual Studio设置路径:项目属性 → C/C++ → 预处理器 → 预处理器定义,新增STATIC_CONCPP条目。
    若使用CMake构建测试项目,在CMakeLists.txt中添加:
    add_compile_definitions(STATIC_CONCPP)
    
  • 对齐运行时库版本:你编译Connector时使用的是静态运行时,测试项目也需要使用相同的运行时选项,禁止混用动态/静态运行时。
    Visual Studio设置路径:项目属性 → C/C++ → 代码生成 → 运行库,Release模式选多线程 (/MT),Debug模式选多线程调试 (/MTd)。
  • 补全链接依赖库:除了mysqlcppconn-static.lib外,还需要添加以下依赖库到链接列表:
    legacy_stdio_definitions.lib、Dnsapi.lib、Crypt32.lib、Secur32.lib、编译Connector时用到的OpenSSL静态库(libssl.lib、libcrypto.lib)、MySQL客户端静态库(libmysql.lib)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:15:10