博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql connector c++与 visual studio 2012 联合使用
阅读量:6203 次
发布时间:2019-06-21

本文共 1172 字,大约阅读时间需要 3 分钟。

软件环境:

win8 build8200 64位版本,

visual studio 2012,

mysql 5.5.28,

mysql connector c++ 1.1.1

从官网上下载了mysql connector c++ 1.1.1以后,使用封装的类连接时出了很多令人十分蛋疼的问题。

1.缺少sqlstring.h头文件---->下载noinstall版本,里面有这个文件。

2.需要boost环境---->下载boost库,然后编译,然后加入头文件和库文件搜索路径到工程中。

3.使用result->getString();崩溃。---->下面详细说明此问题。

原因是官方提供的库文件版本与需要的库版本不匹配,提供的debug版本使用的是MT版本,在debug模式下会出现内存错误,导致crash。只是根本原因,至于加入msvcrt.lib等库文件等解决办法,毫无作用。经过试验,只能使用如下办法:

1.下载mysql connector c++ 1.1.1 源代码,解压到非系统盘下(涉及权限问题)。

2.下载cmake

3.配置MYSQL_DIR指向mysql server的路径。

4.配置BOOST_ROOT指向boost库路径。

5.把cmake添加到PATH中。

6.然后使用visual studio 2012 自带的命令终端进入mysql connector c++ 1.1.1解压后的目录中,不建议使用一般终端,因为可能会有环境变量没配置的情况。

7a.输入cmake -G "Visual Studio 11 Win64".

8a.输入devenv.com MySQLCPPCONN.sln /build Release,这样编译出来的库版本是Release版本,dll在driver/Release目录下。

7b.输入cmake -G "Visual Studio 11 Win64" -DCMAKE_BUILD_TYPE=Debug

8b.输入devenv.com MySQLCPPCONN.sln /build Debug,这样编译出来的库版本是Debug版本,dll在driver/Rease目录下。

然后把相应的库拷贝到工程的Debug,Release目录下,配置工程属性中的c/c++-->Code Generation-->Runtime Library为MDd,就是Debug版,如果是MT,就是Release版本。这样上面的问题就解决了。

PS:我的是64位环境,如果是win32的,相应的参数可以使用cmake --help来查看,然后替换即可。

看下效果图:

 

转载于:https://www.cnblogs.com/wenix/archive/2012/10/10/2719117.html

你可能感兴趣的文章
JQuery:在input中只能输入数字,并且不能复制粘贴,不能切换输入法
查看>>
PHP内核之旅-5.强大的数组
查看>>
vodevs3031 最富有的人
查看>>
正则表达式验证特殊字符串
查看>>
解决Winform大多数DPI问题
查看>>
easyui datagrid实现拖动表头
查看>>
LOJ6285 数列分块入门9(分块)
查看>>
是什么导致了上瘾?
查看>>
cSS3 伪类:nth-child 的使用方法
查看>>
Java 8 字符串日期排序
查看>>
跳跃表 SkipList【数据结构】原理及实现
查看>>
J2EE整合Maven开发,Tomcat正常启动,访问链接报404错误
查看>>
python搭建httpserver
查看>>
win7旗舰版安装SQL2005失败,COM+目录警告如何解决
查看>>
ReentrantLock
查看>>
c# 第12节 分支语句if、switch、三位运算符
查看>>
表单验证实例
查看>>
清除上网痕迹
查看>>
Javascript基类对象原型中有数组的情况
查看>>
ASP.NET MVC5 网站开发实践(一)
查看>>