Je ne sais pas s'il y a des variations dans votre système d'exploitation. Le mien est Arch Linux, et j'ai installé mariaDB . Dans le paquet, il y a un programme appelé 'mysql_config' qui peut fournir la bonne façon de compiler votre programme. En courant
$ 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]
vous pouvez voir les drapeaux de contrôle du programme. Avec votre programme, j'ai utilisé ce qui suit :
$gcc main.c -o main $(mysql_config --libs --cflags)
puis, en exécutant le nouveau programme 'main'
$./main
MySQL client version: 10.0.17-MariaDB
qui a clairement fonctionné !
Donc, je suis sûr qu'il existe d'autres façons de faire cela, mais maintenant cela me convient.
Astuce
Exécutez la commande
$mysql_config --libs --cflags
pour voir exactement les drapeaux produits par mysql_config. Amusez-vous !