2016-04-15 6 views
1

私は現在、C++を使用してサーバーを実装しようとしていますが、ユーザーの情報をデータベースに保存しようとしていますが、データベースに接続中に問題が発生しました。私はので、私はその公式サイトからMariaDBコネクタ/ ODBC 2.0.10安定ダウンロードし、私は私が上で見られる多くのさまざまなソリューションを試してみたはmariadbに正しく接続できません

 
    -------------- Build: Debug in server (compiler: GNU GCC Compiler)--------------- 

    mingw32-g++.exe -Wall -fexceptions -g -lpthread -lmysql -I"D:\Program Files\MariaDB 10.1\include\mysql" -c D:\Projects\server\main.cpp -o obj\Debug\main.o 
    mingw32-g++.exe -L"D:\Program Files\MariaDB 10.1\lib" -o bin\Debug\server.exe obj\Debug\main.o "D:\Program Files (x86)\CodeBlocks\MinGW\lib\libwinpthread.a" "D:\Program Files (x86)\CodeBlocks\MinGW\lib\libws2_32.a" 
    obj\Debug\main.o: In function `main': 
    D:/Projects/server/main.cpp:13: undefined reference to `[email protected]' 
    D:/Projects/server/main.cpp:14: undefined reference to `[email protected]' 
    collect2.exe: error: ld returned 1 exit status 
    Process terminated with status 1 (0 minute(s), 2 second(s)) 
    3 error(s), 3 warning(s) (0 minute(s), 2 second(s)) 

コードブロックによって生成された次のエラーの私のプログラムを構築することはできませんインターネットは、それでも動作しません。誰も私がこれを解決するのを助けることができますか?すべての返信は高く評価されます。

+0

問題は13行目と14行目です。エラーは「未定義の参照」です。そのエラーを検索すると、多くの情報が見つかります。どうやらあなたのプログラムは見つけられない関数を使いたいと思っています。 – Cat

+0

返信いただきありがとうございます。mysql_initはmysql.hで定義され、libmysql.libに実装されていると思います。mysql.hとlibmysql.libを含むパスをコードブロックの設定で検索ディレクトリに追加しました。 – SolskGaer

+0

ライブラリもリンクしましたか? "Includes"はコンパイルのみを許可しますが、マシン上のどこかにインストールされているlibmysqlとプログラムをリンクするようリンカに指示する必要があります。 – Cat

答えて

1

GNUリンカはオプションの順序に敏感です。あなたがメインでlibmysqlを使用している場合は、オプション-lmysqlmain.o

UPD後を行こう:私はあなたにも、第2連結文字列ではないLIBSを持って気づきました。最初の文字列では役に立たず、実際のリンクが行われる秒に追加します。

関連する問題