IDE:vc2010
c++库:boost(使用mysql connector c++需要先配置boost库),mysql connector c++ 1.1.5
数据库:mysql5.6
0x01 安装boost库以及mysql connector c++
首先下载boost库以及mysql connector c++(这2项都能再各自的官网上下到,就不提供链接了)
安装boost库,下载完boost-1.58.zip ,解压缩后运行bootstrap.bat,运行完成后会多出b2.exe以及bjam.exe这2个可运行程序,这里我们只需接着运行bjam.exe(这个程序运行的时间会比较长,可以看一集银魂的说^_^),结束后你可以把总的文件贴到你需要的文件夹内。
至于mysql connector c++,我直接下载的是.msi安装文件,安装即可,默认目录为C:\Program Files\MySQL\MySQL Connector C++ 1.1.5
至此需要的文件已安装完毕,接下来就是配置vc2010了。
0x02 配置vc2010
1.首先创建一个空的工程,并添加一个cpp文件。
2.为当前工程添加目录
找到配置选项页:
首先我们需要确认你的mysql版本以及mysql connector c++的版本是32位还是64位,如果是均为64位,我们需要将vc2010的平台设置为64位的,不然 编译无法通过。
Project-->Properties选项页中有Pllatform这个选项,默认为一开始创建的32位,点击Configuration Manager修改为64位
Project-->Properties-->C/C++ 选择General 里的Additional Include Directories 添加mysql connector c++ 的include 文件夹以及boost的文件夹
Project-->Properties-->Linker 选择General 里的Additional Library Directories 添加mysql connector c++ 的lib 文件夹以及boost的libs文件夹
Project-->Properties-->Linker 选择Input 里的Additional Dependencies 添加mysqlcppconn.lib
至此我们已经完成了vc2010的配置
0x03 验证
接下来就是验证环境是否已成功配置,我们可以写入以下的测试代码(首先要确保mysql有测试的database)
#include <iostream> #include " mysql_driver.h " #include " mysql_connection.h " #include " cppconn/driver.h " #include " cppconn/statement.h " #include " cppconn/prepared_statement.h " #include " cppconn/metadata.h " #include " cppconn/exception.h " using namespace std; using namespace sql; int main() { sql::mysql::MySQL_Driver *my_driver = 0 ; sql::Connection *connect = 0 ; try // 尝试连接testdb数据库 { my_driver = sql::mysql::get_mysql_driver_instance(); connect = my_driver->connect( " tcp://localhost:3306/testdb " , " root " , " 12345678 " ); cout << " connect success! " << endl; } catch (exception e) // 连接失败 { cout << " connect fail! " << endl; } // 取出示例数据 sql::Statement* stat = connect-> createStatement(); stat ->execute( " set names ‘gbk‘ " ); ResultSet * res; res = stat->executeQuery( " SELECT * FROM user " ); while (res-> next()) { cout << " ID: " << res->getString( " id " ) << endl; cout << " NAME: " << res->getString( " name " ) << endl; } if (connect != 0 ) // 释放连接 { delete connect; } getchar(); }
0x04 结尾
mysql c api估计也是版本问题,编译明明能通过,however, there is no egg use。所以遇到实在无法解决的问题可以尝试着换另一种方法(技术太渣,ouduok)
mysql connector c++ (vc2010)
标签:
查看更多关于mysql connector c++ (vc2010)的详细内容...