vs2015 连接 mysql 无法定位序数

经过坎坷,终于解决了这个问题,万事开头难

最近在做一个小课题,需要在windows上连接mysql,之前都是在linux上用,不需要过多配置,

直接包含mysql的头文件就可使用,但是在vs上确不是那么简单(其实很简单,只是要配置很多东西),

所以出现了一些问题,我就重点娓娓道来

1、安装mysql

  可以选安装包.msi,也可以选安装文件.msi更操作简单,基本只用鼠标;

安装文件则更加简洁,但是更多的需要键盘(建议安装)。不论安装哪个,想在cmd上使用mysql都需要在系统的环境变量中加入按装路径

网上有很多教程。

扫描二维码关注公众号,回复: 5989330 查看本文章

2、在vs上配置mysql(我的是vs2015)

    

在项目的属性页中->vc++目录 中的包含目录加入D:\mysql-8.0.15-winx64\include;

在库目录中加入D:\mysql-8.0.15-winx64\lib;在链接器->输入->附加依赖项中加入libmysql.lib,

这些是必填项,然后如果是安装的64位,需要把编译器也改成64位的,大概就可以编译通过。

到此网上也有很多文章。

当debug时就出现了错误,提示错误: 无法定位序数4684于动态链接库:ssleay32.dll上;无法定位序数4699于动态链接库:libmysql.dll上。

看了网上很多都没有适合我的解决方案,

我试过很多办法,有:注册.dll(regsvr32 ssleay32.dll...);    重新加载符号:工具->选项->调试->符号下;重新安装mysql;

更疯狂的,我(后来)卸载了vs2010,安装了2015,因为我以为可能是mysql是用c++11标准写的,可能需要更高版本的vs。这些办法都无济于事,

网上也没有对序数的解读,我试过这些方法后,我肯定一定是动态链接库有问题,我把需要的库(.dll和.lib)加到了项目文件和debug文件中,最开始只

是添加了libmysql.dll,ssleay32.dll,libmysql.lib,还是报同样的错,不知道你是否这是这样。又查了很多资料,被折磨了好几天,我认为还是应该确文件,

我把libeay32.dll也加入了工程文件和debug中,就可以调试出结果。

最终经过实验,确定只是debug文件中需要libeay32.dll,而且只需要libeay32.dll,不需要libmysql.dll,ssleay32.dll,libmysql.lib,不知道你是不是这样。

libeay32.dll:一般 libeay32.dll是OpenSSL所用动态链接库,一般与ssleay32.dll同时用到,通常情况下是在程序包里自带的。

解决:libeay32.dll加入debug文件(有.exe)中。

测试文件,你应该会写,这里就不多说,希望可以帮到你。

欢迎交流[email protected]

猜你喜欢

转载自blog.csdn.net/alittlefish1/article/details/89477977