mysql connector c++与 visual studio 2012 联合使用
2012-10-10 22:31
519 查看
软件环境:
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来查看,然后替换即可。
看下效果图:
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来查看,然后替换即可。
看下效果图:
相关文章推荐
- VS2012 使用MySql的API函数连接数据库(成功), 以及使用mysql-connector-c++-1.1.3遇到的问题!
- 使用Visual Studio编译MYSQL CONNECTOR C/C++(MYSQLCPPCONN)
- 使用MySQL connector/C++链接MySQL数据库
- Visual Studio 2015编译64位MySQL Connector/C++
- 使用MySQL connector/C++链接MySQL数据库
- VS 2010中使用MySQL Connector C/C++的问题
- 使用MySQL connector/C++链接MySQL数据库
- 在CentOS里使用MySQL Connector/C++
- VS2010 64 位使用mysql-connector-c++-noinstall-1.1.3-winx64开发MySQL,供初学者
- [置顶] 数据库连接池c++ (msyql) mysql connector c++ 的使用
- Visual Studio 2015编译64位MySQL Connector/C++
- 在CentOS里使用MySQL Connector/C++
- 使用MySQL connector/C++链接MySQL数据库
- 使用MySQL connector/C++链接MySQL数据库
- MySQL connector c++使用笔记
- C++使用MySQL-Connector/C++连接MySQL出现LNK2019错误的解决方法
- Windows下mysql connector c++ 使用setblob后执行报错
- 在CentOS里使用MySQL Connector/C++
- 如何使用Visual Studio 2012的C++编写DLL
- Linux下安装使用 mysql connector/C++