C语言连接数据库时出现的问题以及解决办法

做作业时需要c语言连接mysql数据库遇到了相当神奇的错误,好在在大神同学的帮助下解决了,,

首先根据网上的教程在

属性配置-C/C++-常规-附加包含目录中输入include文件夹路径,

在属性配置-链接器-常规-附加库目录输入lib所在的文件夹

在链接器-输入-附加依赖项中添加lib文件路径,出现报错现象

无法打开文件C:/Program Files/MySQL/MySQL Sever 5.7/lib.obj

网上有很多帖子说原因是由于该路径存在空格,需要加双引号,保证全路径不会改写,但是我的在加了双引号之后仍旧报出该错误,下面是在http://blog.csdn.net/theonegis/article/details/42913255

该网址看到的

介绍一下VC++中的包含目录:

“VC++ Directories -> Include Directories” : Directorysettings displayed in the window are the directories that Visual Studio willsearch for include files referred to in your source code files. Corresponds toenvironment variable INCLUDE.

在包含目录中的路径是Visual Studio将要从该目标路径中为你查找源代码文件中包含的文件

关于该目录:More information : http://msdn.microsoft.com/en-us/library/t9az1d21(v=vs.80).aspx

 

C/C++ -> 常规->附加包含目录:

“C/C++ -> General -> Additional IncludeDirectories”: The directory to be added to the list of directories searched forinclude files.

这里包含的路径将为了用于 查找包含的文件而加入查找路径的清单中,

关于该附加包含目录 : More information : http://msdn.microsoft.com/en-us/library/73f9s62w(v=vs.80).aspx

 

下面给出了编译器在编译过程中查找包含目录(Include文件)的顺序:

The compiler searches for directories in the followingorder:

编译器查找目录按照如下的顺序:

1.Directories containing the source file.资源文件所包含的目录

2.Directories specified with the /I option, in the orderthat CL encounters them.

3.Directories specified in the INCLUDE environmentvariable.

其中Order2中的/I是由C/C++ -> General -> Additional Include Directories设置的。

 

而Order3中的INCLUDE是由VC++ Directories -> Include Directories设置的。

 

同理,

 

1. VC++ Directories -> LibraryDirectories 库目录

2. Linker -> General -> Additional LibraryDirectories 附加库目录

也一样。

一般推荐在附加中添加自己的库目录等信息。

 

其实通过c语言连接数据库我们主要需要的是将mysql的libmysql.dll以及libmysql.lib文件读取到我们的项目中,所以我们换一种思路,仍旧在前面的c/c++常规-附加包含目录加入include连接器的常规-附加库目录加入lib文件路径,在附加依赖项中添加libmysql.lib文件,然后将libmysql.dll文件放在工程目录下即可,但此时程序仍旧会在编译时出错,此处报错忘记截图:

这个时候我们需要将配置管理器改为x64:

操作如下:这里也是在网上找的

 

1、 如果操作系统是64位,需要以下操作。(32位系统直接跳过此步骤)

2、将x项目属性页的C/C++->常规->附加包含目录指向:C:\Program Files\MySQL\MySQL Server 5.7\include

3、将项目属性页的链接器->常规->附加库目录指向:C:\Program Files\MySQL\MySQL Server 5.7\lib

4、将链接器->输入->附加依赖项中添加libmysql.lib

5、拷贝libmysql.dll到项目文件

 

在结束这一步操作后,程序可以运行,但在运行中报错

 

通过上网查找解决方法如下:

首先打开菜单 项目->项目属性页

1. 选择配置属性->连接器->调试->生成调试信息改为 是(本来这里是什么都没有的)

2. 选择 配置属性->c/c++->常规->调试信息格式改为用于编辑并继续的程序数据库(/ZI)

3. 选择配置属性->c/c++->优化->优化改为禁用(/Od)(原来是使速度最大化(/O2))

 

程序可以正常连接数据库了:

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值