我试图将 mysqlclient.lib 库编译为多线程调试DLL。我需要在此配置中将其链接到我的项目。为了给出一些背景,我将解释到目前为止我做了什么:
git clone https://github.com/mysql/mysql-server.git
我试图将这样编译好的库 mysqlclient.lib 链接到我的项目(使用 / MDd 编译),但我还是得到错误:
mysqlclient.lib(plugin_client.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in main.obj
我已经运行dumpbin /all mysqlclient.lib | find /i "mvscr"
获取结果/DEFAULTLIB:MSVCRTD
,表明该库已编译为 / MDd 。
我必须承认,在想要将mysqlclient.lib链接到我的项目之前,我甚至都不知道运行时库设置。在这一点上,我不完全理解为什么我在上面得到链接器错误,这就是为什么我在标题中写道,我认为该库仍然被编译为 / MTd 。如果有人能指出我正确的方向以解决我的问题,我将非常感激。
更好地阅读MySQL文档我发现如果我的项目是作为/ MDd或/ MD构建的,我必须将它链接到libmysql.dll动态库。 在Microsoft Windows上编译MySQL客户端,第二段到最后一段。 source code