ソケットからデータを受け取り、それを MariaDB データベースに保存する C++ アプリケーションを作成しています。
libmariadb3 パッケージから MariaDB コネクタ c ライブラリを含めたところ、問題なく動作しました。
プログラムをコンパイルするとき、リンク オプション -l mysqlclient を追加する必要がありました。
コンパイル コマンドは次のようになります。
g++ main.cpp -o output -l mysqlclient
私の質問は、なぜこのリンク オプションを追加する必要があるのか、また、このオプションを追加する必要がないようにするにはどうすればよいのでしょうか?
(これはコンパイル コマンドの例です。実際には、cmake でコンパイルしており、mariadb コネクタの c ライブラリを自分でコンパイルしました。cmake のリンカー オプションは、target_link_options(${PROJECT_NAME} PUBLIC -lmysqlclient) になります)