mysqlデータベースの接続に失敗しました
1195 ワード
今日の午前中にテストプログラムを書いてmysqlデータベースに接続します.結果はいつも報告します.
unresolved external symbol _mysql_init@4 referenced in function _main
mysq_が見つかりませんinit()関数、すなわちlibmysql.libライブラリにはリンクされていません.
しかし、私はすでにネット上の方法で正しく設定しました.ここでは説明しません.リンクは次のとおりです.
リンク1リンク2
コードも簡単ですが、接続データベースをテストするだけです.
しかし、なぜ間違いを報告するのでしょうか.後で同僚を探してやっと解決した.私は64 bitのmysqlデータベースをインストールしていました.私のプログラムは32 bitです.自然にリンクできなくなった.
注意:mysqlのインストールパッケージは32 bitと64 bitを同時にサポートしています.システムが64 bitの場合、デフォルトでは64 bitがインストールされます.だから32 bitプログラムを書きたいなら、インストール中に32 bitの設定をしなければなりません.
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;
}
しかし、なぜ間違いを報告するのでしょうか.後で同僚を探してやっと解決した.私は64 bitのmysqlデータベースをインストールしていました.私のプログラムは32 bitです.自然にリンクできなくなった.
注意:mysqlのインストールパッケージは32 bitと64 bitを同時にサポートしています.システムが64 bitの場合、デフォルトでは64 bitがインストールされます.だから32 bitプログラムを書きたいなら、インストール中に32 bitの設定をしなければなりません.