Jag vet inte om det finns någon variation i ditt operativsystem. Min är Arch Linux, och jag har installerat mariaDB . I paketet finns ett program som heter 'mysql_config' som kan ge rätt sätt att kompilera ditt program. Genom att springa
$ 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]
du kan se programmets kontrollflaggor. Med ditt program använde jag följande:
$gcc main.c -o main $(mysql_config --libs --cflags)
och sedan, genom att köra det nya programmets 'main'
$./main
MySQL client version: 10.0.17-MariaDB
vilket helt klart löste sig!
Så jag är säker på att det finns några andra sätt att göra detta på, men nu är det bra för mig.
Tips
Kör kommandot
$mysql_config --libs --cflags
för att se exakt flaggorna som mysql_config producerar. Njut!