Ich weiß nicht, ob es einige Abweichungen in Ihrem Betriebssystem gibt. Meins ist Arch Linux und ich habe mariaDB installiert . Innerhalb des Pakets gibt es ein Programm namens 'mysql_config', das Ihnen den richtigen Weg zum Kompilieren Ihres Programms bieten kann. Durch Laufen
$ 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]
Sie können die Steuerflags des Programms sehen. Mit Ihrem Programm habe ich Folgendes verwendet:
$gcc main.c -o main $(mysql_config --libs --cflags)
und dann durch Ausführen des neuen Programms 'main'
$./main
MySQL client version: 10.0.17-MariaDB
was eindeutig geklappt hat!
Also, ich bin mir sicher, dass es ein paar andere Möglichkeiten gibt, dies zu tun, aber jetzt ist das für mich in Ordnung.
Tipp
Führen Sie den Befehl
aus$mysql_config --libs --cflags
um genau die Flags zu sehen, die mysql_config erzeugt. Viel Spaß!