Win8+vs2012+MySQLConnectorC++配置

来源:互联网 发布:wiki全球软件发展趋势 编辑:程序博客网 时间:2024/05/17 03:48


首先去MySQL官网下载MySQL connector/C++

下载最新版,本文用的是mysql-connector-c++-1.1.2-win32,编译环境和Connector要是一样的架构,同是32位或同是64位

缺库缺文件要自己补上。

缺boost库 http://www.boost.org/,安装方法网上很多,我推荐这种http://www.cosdiv.com/page/M0/S821/821541.html

缺文件sqlstring.h(仅安装版),可以从zip版中取得


然后要配置VS2012

配置boost

例如我的boost库的目录是D:\boost_1_53_0,则VS的配置如下

包含目录: 添加 D:\boost_1_53_0
库目录: 添加 D:\boost_1_53_0\bin\vc11\lib


配置mysql-connector,我下载的connector是安装版,目录结构跟zip的不一样

包含目录: 添加 MySQLConnector\include,MySQLConnector\include\cppconn
库目录: 添加MySQLConnector\lib\opt

在工程属性链接器的输入中添加mysqlcppconn.lib和mysqlcppconn-static.lib

然后将MySQLConnector\lib\opt目录下的mysqlcppconn.lib,MSVCP90.dll,MSVCR90.dll复制到工程目录下

sqlstring.h文件放入MySQLConnector\include\cppconn中


下面是测试代码

#include "main.h"#include <mysql_connection.h>#include <mysql_driver.h>#include <statement.h>using namespace sql;using namespace std;void RunConnectMySQL() {mysql::MySQL_Driver *driver;Connection *con;Statement *state;ResultSet *result;// 初始化驱动driver = sql::mysql::get_mysql_driver_instance();// 建立链接con = driver->connect("tcp://192.168.160.133:3306", "root", "123456");state = con->createStatement();state->execute("use test");// 查询result = state->executeQuery("select * from test");// 输出查询while(result->next()){int id = result->getInt("id");string name = result->getString("name");cout << id << " : " << name << endl;}delete state;delete con;}

其实这时候还有一个问题,如果你本机没有安装mysql,那么运行这个程序后可能会出现libmysql.dll没有找到,但是这时如果你上网

找一个libmysql.dll放进去工程可能会出现“无法定位程序输入点mysql_server_init”这类的错误,其实win8本身就提供了这个dll,不过名字不一样。如果出现以上错误,把这个文件C:\Windows\SysWOW64\libmysql_d.dll放进工程目录,然后改名libmysql.dll,即可