gcc habitude de compiler et d'exécuter MySQL bibliothèques C
#include <my_global.h>
#include <mysql.h>
int main(int argc, char **argv)
{
printf("MySQL client version: %s\n", mysql_get_client_info());
}
~$ gcc-o mysql-test MySQL-Test.c
im essayant d'exécuter ce programme de test de la borne, mais recevez le message d'erreur suivant:
/tmp/cceEmI0I.o: Dans la fonction main': MySQL-Test.c:(.text+0xa): undefined reference to
mysql_get_client_info'
quel est le problème? mon système ubuntu
OriginalL'auteur JB87 | 2010-08-03
Vous devez vous connecter pour publier un commentaire.
MySQL
est livré avec un script spécial appelémysql_config
. Il vous donne des informations utiles pour l'élaboration de votre client MySQL et en le connectant à un serveur MySQL.Passer
--libs
option - Bibliothèques et options nécessaires à la lien avec à la bibliothèque client MySQL.Typique De Sortie:
Maintenant, vous pouvez ajouter ceci à votre compilation/lien ligne:
Je te suggère d'écrire un fichier Makefile qui va prendre soin de la compilation de l'application automatiquement. De là, vous pouvez spécifier les arguments de ligne de commande de GCC. Vous pouvez trouver des informations sur la façon d'écrire les makefiles ici: delorie.com/djgpp/doc/ug/larger/makefiles.html Il y a de la charge de sites web pour vous aider à écrire votre propre fichier makefile.
Comment voulez-vous faire cela dans windows?
OriginalL'auteur codaddict
Vous avez besoin
gcc -o mysql-test MySQL-Test.c -L/usr/local/mysql/lib -lmysqlclient -lz
Remplacer
-L/usr/local/mysql/lib
avec vous partout où la bibliothèque du client est (si elle n'est pas déjà dans votre libpath)Voir le MySql instructions pour la construction des clients.
OriginalL'auteur deinst
Pour l'utilisation de l'edi Netbeans sous Linux
Ouvrir vous faire fichier (MakeFile) et ajoutez les lignes suivantes
juste en dessous du bloc d'Environnement.
Puis cliquez droit sur le nœud de votre projet , sélectionnez Propriétés, de Construire et d'ajouter
$(MYSQL_LIBS)
pour les options Supplémentaires paramètre.OriginalL'auteur thanassis
Vous ne sont pas de liaison dans les bibliothèques. Utilisation:
gcc -llibrarygoeshere -o mysql-test MySQL-Test.c
Voir ici pour plus d'informations sur la liaison avec gcc.
OriginalL'auteur pmr
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.OriginalL'auteur Didier Trosset
Vous avez oublié de le lier avec la bibliothèque MySQL.
Essayez d'ajouter
-lmysql
de votre ligne de la compilation.Voir http://www.adp-gmbh.ch/cpp/gcc/create_lib.html pour plus d'informations.
OriginalL'auteur Gui13
Peut-être la fin, mais il a travaillé pour moi
Si vous utilisez un IDE, vous devriez avoir un lien à la bibliothèque de votre projet.
Je suis à l'aide de
CodeBlocks
sur ubuntu 12.4 64x. Pour la liaison de la bibliothèque, vous devez vous rendre à Projet -> Build options -> linker settings et l'ajout de la bibliothèque. c'est ma lib chemin :/usr/lib/x86_64-linux-gnu/libmysqlclient.so
Espère être utile...
OriginalL'auteur Soroush Khosravi