Nevím, jestli existuje nějaká odchylka ve vašem operačním systému. Můj je Arch Linux a nainstaloval jsem mariaDB . V balíčku je program nazvaný 'mysql_config', který může poskytnout správný způsob kompilace vašeho programu. Spuštěním
$ 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]
můžete vidět ovládací příznaky programu. S vaším programem jsem použil následující:
$gcc main.c -o main $(mysql_config --libs --cflags)
a poté spuštěním nového programu 'main'
$./main
MySQL client version: 10.0.17-MariaDB
což se jednoznačně povedlo!
Jsem si tedy jistý, že existuje několik dalších způsobů, jak to udělat, ale teď je to pro mě v pořádku.
Tip
Spusťte příkaz
$mysql_config --libs --cflags
abyste viděli přesně ty příznaky, které mysql_config vytváří. Užijte si to!