gcc ne comstackra pas et n’exécutera pas les librairies MySQL C

#include  #include  int main(int argc, char **argv) { printf("MySQL client version: %s\n", mysql_get_client_info()); } 

~ $ gcc -o mysql-test MySQL-Test.c

J’essaie d’exécuter ce programme de test depuis le terminal, mais le message d’erreur suivant s’affiche:

/tmp/cceEmI0I.o: Dans la fonction main': MySQL-Test.c:(.text+0xa): undefined reference to mysql_get_client_info’

Qu’est-ce qui ne va pas? mon système est Ubuntu

MySQL est fourni avec un script spécial appelé mysql_config . Il vous fournit des informations utiles pour comstackr votre client MySQL et le connecter au serveur de firebase database MySQL.

Pass --libs option – Bibliothèques et options requirejses pour établir une liaison avec la bibliothèque cliente MySQL.

 $ mysql_config --libs 

Sortie typique:

 -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib64 -lssl -lcrypto 

Maintenant, vous pouvez append ceci à votre ligne de compilation / lien:

 gcc -o mysql-test MySQL-Test.c $(mysql_config --libs) 

Vous avez besoin de gcc -o mysql-test MySQL-Test.c -L/usr/local/mysql/lib -lmysqlclient -lz

Remplacez -L/usr/local/mysql/lib par où que se trouve votre bibliothèque client (si ce n’est pas déjà dans votre libpath)

Voir les instructions MySql pour créer des clients .

Pour les utilisations de Netbeans sur Linux

Ouvrez vous faites le fichier (MakeFile) et ajoutez les lignes suivantes

 # These are the flags that gcc requires in order to link correctly against our installed # client packages MYSQL_LIBS := $(shell mysql_config --libs) 

juste en dessous du bloc d’environnement.

Puis cliquez avec le bouton droit sur le nœud de votre projet, sélectionnez Propriétés, Construire et ajoutez $(MYSQL_LIBS) au paramètre Options supplémentaires.

Vous ne vous connectez pas aux bibliothèques. Utilisez: gcc -llibrarygoeshere -o mysql-test MySQL-Test.c Voir ici pour plus d’informations sur la liaison avec gcc.

Ce n’est pas une erreur de compilation. C’est une erreur de lien.

Ajouter la bibliothèque mysql pour créer votre exécutable avec l’option -lmysql devrait faire l’affaire.

Vous avez oublié de créer un lien avec la bibliothèque MySQL. Essayez d’append -lmysql à votre ligne de compilation.

Voir http://www.adp-gmbh.ch/cpp/gcc/create_lib.html pour plus d’informations.

Peut-être en retard mais a travaillé pour moi
Si vous utilisez un IDE, vous devez relier la bibliothèque à votre projet.
J’utilise CodeBlocks sur Ubuntu 12.4 64x. Pour lier la bibliothèque, vous devez aller dans Projet -> Options de construction -> Paramètres de l’éditeur de liens et append la bibliothèque. c’est mon chemin de /usr/lib/x86_64-linux-gnu/libmysqlclient.so : /usr/lib/x86_64-linux-gnu/libmysqlclient.so

Espérons être utile …