人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【C++,MySQL,64bitOS】MySQLをC++のプログラム使用したところ、エラーが出てしまい困っています。解決策があれば教えてください。状況詳細を下記に記載します。
使用言語:C++,使用OS:Windows7 64bit,IDE:VisualC++2010Express,MySQL:Windows 64bit版
依存のlib:OK
インクルードパス:OK
ライブラリパス:OK
#include <windows.h>
#include <mysql.h>
int main(int argc, char* argv[]) {
MYSQL * con;
con = mysql_init(NULL);
return 0;
}
error LNK2019: 未解決の外部シンボル _mysql_init@4 が関数 _main で参照されました。

●質問者: kudolf
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● cx20
ベストアンサー

WindowsXP32bitでは32bit用MySQLを利用し、その他同条件で実施すると正常に動きました。

64bit 版のプログラムには64bit版のライブラリが必要です。


以下に64bit 版のライブラリがあるようですので、こちらで試してみてください。

■ MySQL :: Download Connector/C

http://dev.mysql.com/downloads/connector/c/

Windows (x86, 64-bit), ZIP Archive

(mysql-connector-c-noinstall-6.0.2-winx64.zip)


kudolfさんのコメント
アドバイスありがとうございます。 さっそくダウンロードし、所定の位置に配置後、インクルードディレクトリとライブラリディレクトリを再設定しました。しかし、結果はまた同じエラーでした。

cx20さんのコメント
Express 版が手元に無い為、未確認ですが、既定では64bit版のコンパイルは出来ないようです。 >> ■ 方法 : Visual C++ プロジェクトを 64 ビット プラットフォーム用に設定する http://msdn.microsoft.com/ja-jp/library/9yb4317s(VS.80).aspx 既定では、Visual C++ Express Edition で 64 ビット ツールを使用することはできません。 Visual C++ Express Edition で 64 ビット ツールを使用可能にするには、 Visual C++ Express Edition の他に、.NET Framework SDK をインストールしてください。 << 手順については以下の記事が参考になるか思います。 >> ■ Visual C++ 2010 Expressで64bitコンパイル - torutkの日記 http://d.hatena.ne.jp/torutk/20100927/p1 <<

kudolfさんのコメント
アドバイスありがとうございます。 Microsoft Windows SDK for Windows 7 ant .NET Framework4のインストールと、 VC++2010のプラットフォームの設定にx64を作成することによって今回の問題を解決することができました。現在ビルドを行ってもエラーが出力されません。 お陰様で助かりました、ありがとうございました!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ