今天上午写一个测试程序,连接mysql数据库。 结果老是报:
unresolved external symbol _mysql_init@4 referenced in function _main
找不到mysq_init()函数, 也就是libmysql.lib库没有链接进来。
但是我已经按照网上的方法正确设置了。 此处不再复述, 链接为:
链接1 链接2
代码也很简单,只是测试连接数据库。
#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的设置。