運用システムに多少のばらつきがあるかどうかはわかりません。私はArchLinuxであり、mariaDB をインストールしました。 。パッケージ内には、プログラムをコンパイルする正しい方法を提供できる「mysql_config」と呼ばれるプログラムがあります。 runnigによって
$ mysql_config --help
Usage: /usr/bin/mysql_config [OPTIONS]
Options:
--cflags [-I/usr/include/mysql]
--include [-I/usr/include/mysql]
--libs [-L/usr/lib -lmysqlclient -lpthread -lz -lm -lssl -lcrypto -ldl]
--libs_r [-L/usr/lib -lmysqlclient_r -lpthread -lz -lm -lssl -lcrypto -ldl]
--plugindir [/usr/lib/mysql/plugin]
--socket [/run/mysqld/mysqld.sock]
--port [0]
--version [10.0.17]
--libmysqld-libs [-L/usr/lib -lmysqld]
--variable=VAR VAR is one of:
pkgincludedir [/usr/include/mysql]
pkglibdir [/usr/lib]
plugindir [/usr/lib/mysql/plugin]
プログラムの制御フラグを確認できます。あなたのプログラムで、私は以下を使用しました:
$gcc main.c -o main $(mysql_config --libs --cflags)
次に、新しいプログラム「メイン」を実行します
$./main
MySQL client version: 10.0.17-MariaDB
明らかにうまくいきました!
ですから、これを行う方法は他にもいくつかあると思いますが、今ではこれで問題ありません。
ヒント
コマンドを実行します
$mysql_config --libs --cflags
mysql_configが生成する正確なフラグを確認します。お楽しみください!