环境说明:
1.win7 64位;
2.VS 2010;
3.mysql version 5.6.10, [http://www.mysql.com/downloads/installer/ , mysql-installer-community-5.6.10.1];
4.mysql connector/C++ 1.1.2, [http://www.mysql.com/downloads/connector/cpp/, mysql-connector-c++-1.1.2.tar];
5.boost version 1.5.1, [boost_1_51_setup]
6.将C:\Program Files\MySQL\MySQL Server 5.6\lib\libmysys.dll和C:\Program Files\MySQL\Connector C++ 1.1.2\lib\opt\mysqlcppconn.dll文件复制到了 C:\Windows|System32文件夹下;
7.控制台程序的Release 编译模式;
8.VC++2010 工程属性配如图:
9.程序代码:
#include <iostream>
#include <mysql_connection.h>
#include <cppconn/driver.h>
#include <cppconn/exception.h>
#include <cppconn/resultset.h>
#include <cppconn/statement.h>
#include <cppconn/prepared_statement.h>
using namespace sql;
using namespace std;
void RunConnectMySQL()
{
sql::Driver *driver;
Connection *con;
Statement *state;
ResultSet *result;
// 始化驱动
driver = get_driver_instance();
// 建立链接
con = driver->connect("tcp://127.0.0.1:3306", "root", "123");
state = con->createStatement();
state->execute("use test");
// 查询
result = state->executeQuery("select * from testuser where id < 1002");
// 输出查询
while(result->next())
{
int id = result->getInt("ID");
string name = result->getString("name");
cout << id <<" : "<< name << endl;
}
delete state;
delete con;
}
int main()
{
RunConnectMySQL();
getchar();
return 0;
}
10.编译错误:
1>------ Rebuild All started: Project: mysql2012, Configuration: Release Win32 ------
1>Build started 3/12/2013 4:38:41 PM.
1>_PrepareForClean:
1> Deleting file "Release\mysql2012.lastbuildstate".
1>InitializeBuildStatus:
1> Touching "Release\mysql2012.unsuccessfulbuild".
1>ClCompile:
1> main.cpp
1>main.obj : error LNK2001: unresolved external symbol _get_driver_instance
1>c:\Users\Admin\Documents\Visual Studio 2010\Projects\mysql2012\Release\mysql2012.exe : fatal error LNK1120: 1 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:03.04
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
11.请问各位:我是哪里设置不对还是有问题呀?