現在のビルドコマンド:g++ demo.cpp -o demo
リンカld
の情報が含まれていません どのライブラリに対してリンクする必要があるか。そのため、リンカーエラーが発生します:
このドキュメント どのライブラリが必要かが書かれています。
静的または動的にリンクできます。
静的リンク これは、ライブラリが実行可能ファイル内にあるため、必要なライブラリがインストールされていないマシンで実行可能ファイルが実行されることを意味します。これにより、実行可能ファイルのサイズも大きくなります。 MySQL Connector / C ++の場合、ライブラリは次のとおりです。libmysqlcppconn-static.a
およびlibmysqlclient.a
ダイナミックリンク これは、実行可能ファイルが実行されるマシン上のライブラリを見つける必要があることを意味します。必要なライブラリは次のとおりです:libmysqlcppconn.so
。
ダイナミックリンクを使用したビルドコマンド (libmysqlcppconn.so
を使用 )は次のようになります:
g++ demo.cpp -o demo -lmysqlcppconn
-l
の違いにさらに注意してください および-L
前述のように、ここでSO
または
パスは必要ありません(-L
)ここでは、ライブラリは/usr/local/lib
の下にあるはずです。 これはデフォルトのインストールであり、すでにリンカーの検索パスにあります。