2011-06-26 11 views
1

今日、私はMySQLサーバへの接続を管理するクラスを追加しました。マルチスレッドになるので、mysql ++を使いたいです。私は最新のバージョンをダウンロードし、エラーなしでデバッグモードでコンパイルしました。コンパイルされたmysqlpp_d.libを私のソリューションに加えて、もちろん他の要件(mysql 5.0 includeとlib)も追加したところ、いくつかのリンカエラーが発生しました。mysqlpp_d.libをリンクする複数の問題

Error 17 error LNK1169: one or more multiply defined symbols found C:\Users\root\Documents\Visual Studio 2010\Projects\C++\xxxx\binaries\xxxx.exe 1 1 xxxxx 
Error 16 error LNK2005: "public: __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >(int)" ([email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@Z) already defined in xxxxxx.obj C:\Users\root\Documents\Visual Studio 2010\Projects\C++\xxxx\trunk\vc10\xxxxx\mysqlpp_d.lib(mysqlpp_d.dll) xxxxxxx 
Error 15 error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str(void)const " ([email protected][email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]) already defined in client_context.obj C:\Users\root\Documents\Visual Studio 2010\Projects\C++\xxx\trunk\vc10\xxx\mysqlpp_d.lib(mysqlpp_d.dll) xxxxx 
Error 14 error LNK2005: "public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)" ([email protected][email protected]@st[email protected]@[email protected]@[email protected]@[email protected]@QAEXXZ) already defined in xxxxx.obj C:\Users\root\Documents\Visual Studio 2010\Projects\C++\xxx\trunk\vc10\xxxx\mysqlpp_d.lib(mysqlpp_d.dll) xxx 

このようなエラーはありますか?

私はコンパイル設定を変更せずにmysql ++ライブラリ全体をコンパイルしました。プロジェクトオプションで

+0

あなたは特定のものにコードとライブラリのランタイムライブラリの設定リンク先は同じですか? http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx – Bart

+0

はい、両方ともマルチスレッドデバッグDLL(/ MDd) – Aurus

+0

アプリケーションに埋め込まれているマニフェストを確認して、複数のランタイムについて言及していますか? – Bart

答えて

1

は、プロジェクトのプロパティ - でMYSQLPP_NO_DLLの定義> C/C++ /プリプロセッサ

0

てみ設定/ NODEFAULTLIBパラメータ - >リンカ/入力