MySQLのコネクタ/ C ++ライブラリのリンクエラー問題
-
11-09-2019 - |
質問
問題:
[OK]を、私は、MySQLフォージのWikiと簡単なデータベース接続を取得する方法についてのチュートリアルを提供するいくつかの他のウェブサイト上のサンプルコードを追跡しようとしてきたが、何らかの理由で、私のプロジェクトは、常にリンク・エラーで失敗しますそして私は(私はまだ学んでいる)、それを自分自身を修正する理由や方法を見つけ出すことはできません。私を助けてください!私はプロジェクトのプロパティでのヘッダファイルのために必要なパスのディレクトリが含まれてとMySQLコネクタ/ C ++で使用されているのlibファイルへのパスのディレクトリを提供してきました。誰かが私にそれを修正する方法についての役立つヒント/コメントを与えることができれば私が使用しているコードは以下の通りです。私はそれが(理由はリンク・エラーの)LIBファイルに接続しているとは何かを持っていると思いますが、私はそれを修正するための解決策を知りません。誰がこのようなトラブルがあったか?
http://forge.mysql.com/wiki/Connector_C++する http://dev.mysql.com/tech-リソース/記事/ mysqlのコネクタ-cpp.html#createdbのの
CODEます:
int main() {
// do something
sql::mysql::MySQL_Driver *driver;
sql::Connection *con;
sql::Statement *stmt;
sql::ResultSet *res;
sql::PreparedStatement *pstmt;
cout << "Starting Driver Instance" << endl;
driver = sql::mysql::MySQL_Driver::get_mysql_driver_instance();
return 0;
}
エラー出力:
1>------ Build started: Project: test, Configuration: Debug Win32 ------
1>Compiling...
1>main.cpp
1>c:\users\josh bradley\documents\visual studio 2008\projects\test\test\main.cpp(28) : error C2039: 'get_mysql_driver_instance' : is not a member of 'sql::mysql::MySQL_Driver'
1> c:\program files\mysql\mysql connector c++ 1.0.5\include\mysql_driver.h(25) : see declaration of 'sql::mysql::MySQL_Driver'
1>c:\users\josh bradley\documents\visual studio 2008\projects\test\test\main.cpp(28) : error C3861: 'get_mysql_driver_instance': identifier not found
1>Build log was saved at "file://c:\Users\Josh Bradley\Documents\Visual Studio 2008\Projects\test\test\Debug\BuildLog.htm"
1>test - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
UPDATE:
私はちょうど誰もが、私はようやく私の問題を解決する方法を見つけたことを知ってもらいたいです。 //blog.ulf-wendel:同様の問題を持つ人にとって、のhttpに行きます。デ/?p = 215#ハローと動的mysqlcppconn.libへの接続方法に関する説明をお読みください。私の問題は、それが正しく、ライブラリに接続しますので、実際の環境を設定したと、このチュートリアルでは、途方もなく助けました!
解決
あなたは最初にあなたのコードを変更する必要があります:
driver = sql::mysql::get_mysql_driver_instance();
そして次は、mysqlclient.libとあなたのコードをリンクする必要があります プロジェクトでの mysqlclient.lib のあなたのlibの右のパスを追加します:
Properties->Linker->General-> Additionnal Libraries
ここにあなたのlibのパスを追加します。
他のヒント
迅速なGoogle検索は、あなたのラインが読まなければならないことを示唆します:
driver = sql::mysql::get_mysql_driver_instance();
エラーは、コンパイラエラーです。指定された名前空間にget_mysql_driver_instance()を見つけることができないことを訴えています。
二重線をクリックしてみてください。
1> c:\program files\mysql\mysql connector c++ 1.0.5\include\mysql_driver.h(25) : see declaration of 'sql::mysql::MySQL_Driver'
それはあなたのヘッダファイルが表示されます、そして、あなたは関数が存在していることを確認するために、そこに検索することができます。