Ik weet niet of er enige variatie is in uw besturingssysteem. De mijne is Arch Linux en ik heb mariaDB geïnstalleerd . Binnen het pakket is er een programma genaamd 'mysql_config' dat de juiste manier kan bieden om uw programma te compileren. Door lopend
$ 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]
u kunt de controlevlaggen van het programma zien. Met jouw programma heb ik het volgende gebruikt:
$gcc main.c -o main $(mysql_config --libs --cflags)
en dan, door het nieuwe programma 'main'
. uit te voeren$./main
MySQL client version: 10.0.17-MariaDB
wat duidelijk gelukt is!
Dus ik weet zeker dat er nog een paar andere manieren zijn om dit te doen, maar nu is dit prima voor mij.
Tip
Voer de opdracht uit
$mysql_config --libs --cflags
om de exacte vlaggen te zien die mysql_config produceert. Geniet ervan!