刚接触MYSQL,想用C++测试链接MYSQL,结果发现一堆坑,本文主要起到记录作用,怕以后忘记。万一要是有人看到这个帖子,请不要喷,新手!
开启干货!
故障1:编译器提示:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
这个问题是因为MYSQL采用msi安装包时,提示我们要先安装Microsoft.NET Framework 4.5.2,而安装完NET后,系统会生成一个较新的cvtres.exe程序,我们只需要在本地搜索这个程序,放在VS2010/VC/BIN中进行替换就好了。若无法解决,清百度搜一下其他解决方法,我用这个方法就搞定了。
https://jingyan.baidu.com/article/363872ec263e0f6e4ba16fdc.html
故障2:编译器提示: error LNK2001: 无法解析的外部符号 [email protected]
代码按照头文件中说明的函数正确输入,但是编译器会提示错误。我遇到的情况是我的电脑是W7,64位系统,用的MYSQL64位压缩包提取的头文件和库文件。但是VS2010的MFC是WIN32的程序,导致我们无法通过编译,此时需要将我们的运行平台更改为X64的,方法如下:
第一步:在配置管理器中,选中平台的新建项;
第二步:在新建平台中选择X64,然后点击确定,然后关闭配置管理器,这个时候我们的编译就通过了
故障3:故障2的延伸:编译好的程序无法正常启动,缺少libssl-1_1-x64.dll和libcrypto-1_1-x64.dll
这两个动态库我是从MYSQL32位MSI安装包安装完成后在MYSQL目录里面找到的,只要电脑中有这个,就可以运行程序了。目录如下
安装包地址:https://dev.mysql.com/downloads/windows/installer/8.0.html
关于头库文件和运行库,也可以在网盘里面下载
链接:https://pan.baidu.com/s/12ee2D9Fp505f27znnMB9OQ
提取码:4zcw
因为我也是刚开始通过MFC链接MYSQL,刚发现的坑,其他的后面遇到了再更新。