1. 主页 > vs安装问题 > VS2010安装问题 >

windows 7环境下 Visual studio 2010 调用mysql 环境搭建

参考:Visual Studio 连接 MySQL 数据库(包含常见错误及解决方法)

需求描述:原始软件项目基于 Visual Studio 2010开发,现该项目需要加入 mysql 读写的功能。

问题描述:最新版本的Mysql 8.0 connector要求VS2015以上的版本 (mysql 5.4.62 以后的所有版本要求VS2012以上)。我希望在不修改项目开发工具版本(VS2010)的基础上可以实现项目对各个版本mysql 的调用。

具体解决方法:

(1)环境 :windows7 x64 + visual studio 2010

安装 mysql8.0 ,安装过程中选择customer安装  mysql 8. 0 server 和 connector  C++ 8.0 两个部分。

问题分析:为什么选择 mysql 8.0 我测试了多种 mysql 发现对 vs2010的兼容性并不好, 低版本Mysql 5.5 安装目录下没有 include文件夹;官网上其余有mysql for visual studio模块的mysql 都是要求visual studio 版本在VS2012以上。 索性就直接安装了最新版mysql,自定义安装只安装其中的 mysql Server和connector C++ 两个模块

(2)visual studio 2010 配置

程序中要调用mysql相关操作需要加入头文件

#include<mysql.h>

另外需要修改项目属性:

VC++目录下:“包含目录”中加入 “mysql安装目录\MySQL Server 8.0\include”

“库目录”中加入 “mysql安装目录\MySQL Server 8.0\lib”

“链接器->输入->附加依赖项”  加入  “libmysql.lib”

将 libmysql.dll 文件复制到程序的编译debug 文件夹(libmysql.dll文件在“C:\Program Files\MySQL\MySQL Server 8.0\lib”路径下):

(3)遇到的问题与解决方法

1.程序编译错误:“无法找到 stdbool.h文件”

mysql.h(43): fatal error C1083: 无法打开包括文件:“stdbool.h”: No such file or directory

分析:VS2010不完全支持C99,stdbool.h是C99的。“VS2013以后开始改善对C99的支持,Modern versions of Visual Studio (2013 and later) offer improved support for C99,VS2015支持stdbool.h”。 简单的说就是VS2010不支持这个功能。

解决方法:自己创建 stdbool.h文件,内容如下。  文件放入到“C:\Program Files\MySQL\MySQL Server 8.0\include”路径下:

typedef int bool;
#define false 0
#define true 1

2.程序运行错误:缺少libeay32.dll文件和SSLEAY32.dll文件

问题分析:电脑的C:/windows/system32文件夹下缺少这两个dll文件。 解决方法有两种:使用360或腾讯电脑管家系统修复;或则在网上手动下载 dll文件复制到“C:\Windows\System32”路径下,手动注册。      经过实际测试,360和腾讯电脑管家的自动修复工具都不能解决这个问题,而且在网上下载的各种 dll文件都不匹配当前的系统。

解决方法:最终使用手动修复的方法,将64位的两个dll文件放入到system32文件夹,并 “开始->运行”分别输入下面命令注册两个 dll 文件  :  regsvr32 LIBEAY32.dll               regsvr32 SSLEAY32.dll。             附录:在网上找的可以匹配的 LIBEAY32.dll和SSLEAY32.dll dll文件下载链接​​​​​​​。

3.调用mysql要求项目必须设置为x64开发平台的,因为所调用的mysql的库文件全都是为64位的。

问题分析:我的原始项目是基于x86平台开发,目的是让项目可以在32位和64位操作系统上都正常运行。但是调用mysql 8.0时发现Mysql库调用要求项目是 x64平台。

最终解决方法:没有找到让mysql可以被32位工程调用的方法,准确的说Mysql 8.0已经没有32位的版本安装包。最终我将我的项目修改为基于X64平台,将其中不兼容64位平台的部分模块进行修改重写。

 

本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2010anzhuangwenti/2020/0724/2483.html

联系我们

在线咨询:点击这里给我发消息

微信号:PREEE8

工作日:9:30-18:30,节假日休息