vs2013 c 连接mysql数据库_vs2013下C/C++连接mysql数据库相关问题

项目需要,写了一个控制台程序,其中需要连接数据库查询数据并将查询结果通过socket发送到服务器端。由于之前没做过相关的东西,基本小白,做起来也相当费劲。好在最终解决了。现将问题解决过程记录下来,希望能帮到更多的人。

首先,电脑上需要搭建好mysql数据库。至于版本需要注意:mysql版本最好和系统一致。即64位系统对应64位的mysql , 32位的系统对应32位的mysql。

其次,在VS中新建工程(关于工程的创建过程这里不再赘述)。然后工程中引入mysql的库函数和头文件。这里我们需要做的有两步。

(1)将工程的头文件路径指向Mysql安装目录的mysql.h头文件所在位置。

(2)将链接库路径指向libmysql.lib所在路径。

关于mysql安装目录下没有mysql.h文件的情况,解决办法见下文。

具体操作如下:

1.打开VS工程,找到工程(project)->项目属性(property)

ec2d752ab8fc41839a6c3e9a1b967b82.jpg

点击项目属性后弹出以下窗口

95a5f99a8f694a688468ab7efb384bc3.jpg

2、依次点击属性页的 C/C++ ->General,在右侧找到Additional Include Directories,在其后的编辑框中引入mysql.h头文件的路径(在mysql安装目录下的include文件夹下)。

3、在该属性页中,找到Linker -> General ,在其右侧找到Additional Library Directories,在其后的编辑框中引入mysql的库文件libmysql.lib文件所在的路径。如图所示:

77d1cb9590db4a96b3a3a2b022c77b2a.jpg

在Linker->Input->Additional Dependencies中添加libmysql.lib

6c89950e20074a11916614033fac0d49.jpg

5cdc3413b1994dff8ac1c1898e15a7bf.jpg

在弹出的页面内输入 libmysql.lib 确定保存即可

4、打开工程中的资源文件,在文件中加入以下代码:

#include

#include

#include

#pragma comment(lib, "libmysql.lib")

这里有几点需要注意:

1、有些人mysql的安装目录下并没有include和lib文件夹。就需要下载mysql的源代码(源代码文件较大,具体下载方法自行百度)。或者 点击这里下载 。然后将相应的文件夹复制粘贴到mysql安装目录下(这就需要对上述配置中引入的文件路径稍作修改)。

2、把libmysql.dll复制粘贴到编译生成的exe目录下。

3、上述第4步中引入文件的顺序需要注意 mysql.h一定要在Winsock2.h后引入。

4、引入的库文件和头文件的版本最好与数据库版本一致。

至此,连接数据库的具体过程结束。但这并不意味着万事大吉。在程序的编译过程中可能会遇到以下问题:

1、VS提示 LNK2019: unresolved external symbol __mysql_real_connect(_mysql_init、_mysql_error)@reference main …(具体记不太清楚)。

问题原因:

版本的问题,VS下工程默认的时win32平台编译,但是系统和mysql的版本可能是64位的。在32位编译器下编译肯定出错。

解决办法:

将win32编译平台改为x64平台

2a5a044fe73a4d26b2f8a5c4aabccabc.jpg

3c161d576a6645e0adbd9ea5aa5dce26.jpg

此时编译器错误消失。

2、编译程序提示:应用程序无法正常启动0x0000007b。

可能原因:libmysql.dll文件没有复制到.exe文件的目录内。

解决办法:将libmysql.dll文件复制到.exe文件夹内即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值