C++连接MySQL
前言
首先给出官方的参考资料:[传送门]
你从我这条超链接进去之后是资料的前言,不过对配置真正有用的应该是[传送门]这个页面。然后根据你的系统选择页面就行。
不过资料的前言也不是没有用,前言中提到了一个重要的事:(如果你使用的是Windows系统)你的Visual Studio版本和Connector版本必须匹配才行。以下是原文:
On Windows, Microsoft Visual Studio is required. The acceptable MSVC versions depend on your Connector/C++ version:
- Connector/C++ 8.0.19 and higher: MSVC 2019 or 2017.
- Connector/C++ 8.0.14 to 8.0.18: MSVC 2017 or 2015.
- Connector/C++ prior to 8.0.14: MSVC 2015.
由于我也没太细看官方文档,基本都是云的,能在我的电脑上把代码跑起来就算配置好了,所以下文的方法只保证对我自己的环境有效。我使用的环境:Windows,Visual Studio 2019,MySQL8.0.26(并且有Connector C++组件) 。
正文
整个过程总共分4步:
- 创建新项目
- 设置包含路径
- 设置库路径
- 设置使用的库
第一步:创建一个C++ 项目
这个不用教吧?不过多少还是有些地方要注意的。
主要在于创建完项目后:
首先是选x86还是x64呢?这个要根据你的MySQL决定。
其次是选择Debug还是Release呢?这个要选Release。
那么选择Debug行不行呢?我觉得原则上是可以的,并且官方文档上也有相关的说明。但是实际构建后、进行测试的时候出现了问题:Visual Studio总会在执行代码中的connect时报bad_alloc异常。我在StackOverflow上找了好久也没找到解决办法,索性放弃了。
第二步:设置包含路径
首先,选择项目、属性。在选中配置属性下的 C/C++ 下的 常规 。
Q:我的配置属性下为什么没有 C/C++ 选项?
A:有一种可能,就是你创建项目时创建了一个空项目。这时只要你添加一个源文件,再打开项目、属性,就能在配置属性下找到 C/C++ 了。
然后,在附加包含目录中添加以下两条路径:
你安装的盘:\你的安装路径\MySQL\Connector C++ 8.0\include
你安装的盘:\你的安装路径\MySQL\Connector C++ 8.0\include\jdbc
注意:添加时可以按那个编辑按钮,通过这种方法添加不易出错。
点击应用(当然,也可以所有步骤都完成后一起应用)
第三步:设置库路径
还是在项目的属性页,切换到配置属性下的链接器下的常规。
然后,在附加库目录中添加以下路径:
你安装的盘:\你的安装路径\MySQL\Connector C++ 8.0\lib64\vs14
第四步:设置使用的库
还是在配置属性下的链接器下,切换到输入。
在附加依赖项中添加:
mysqlcppconn.lib
mysqlcppconn8.lib
最后,别忘了点击应用。
最后的最后,需要将lib64下的dll文件复制到C:\Windows\System32或者是复制到项目的目录中(与你的exe文件同一个文件夹中)。
冷知识:在Visual Studio中右键项目,在最后有在文件资源管理器中打开文件夹。可以快速定位项目。打开后进入x64文件夹(也有可能是x86,取决于你的设置),再打开Release。把lib64中的dll复制到这里面就可以了。