今天上午写一个测试程序,连接mysql数据库。 结果老是报:
unresolved external symbol _mysql_init@4 referenced in function _main
找不到mysq_init()函数, 也就是libmysql.lib库没有链接进来。
但是我已经按照网上的方法正确设置了。 此处不再复述, 链接为:
代码也很简单,只是测试连接数据库。
#include <iostream>
#include <Windows.h>
#include <winsock.h>
#include <mysql.h>
using namespace std;
#pragma comment(lib, "libmysql.lib")
//#pragma comment(lib,"mysqlclient.lib")
int main()
{
MYSQL m_sql;
mysql_init(&m_sql);
//if (! mysql_real_connect(&m_sql, "localhost", "root",
// "", "test", 3306, NULL, 0))
//{
// cout << "connect the database failed ." << endl;
// return 0;
//} else
//{
// cout << "connect success" << endl;
// mysql_close(&m_sql);
//}
return 0;
}
但是为什么还是会报错误呢。 后来找同事才解决。 原来我是安装的64bit的mysql数据库。 我的程序是32bit的。 自然链接不上啦。
注意: mysql的安装包是同时支持32bit和64bit的。 如果系统是64bit 的话, 它默认是安装64bit 的。 所以如果想写32bit程序的话, 就必须在安装的过程中进行32bit的设置。