<mysql.h> en C

Imagen de Necrotzar
0 puntos

al programar en C y utilizar la librería mysql.h

#include <mysql.h>

al compilar el código me dice que no se encuentra tal librería.
como lo soluciono??

Imagen de Necrotzar
+1
0
-1

la solución al error que devuelve al compilarse

#include <mysql.h>

se soluciona de la siguiente manera

#include <mysql/mysql.h>

debido a que el archivo mysql.h no se encuentra en la ruta /usr/include como es el caso de stdio.h
sino que se encuentra en /usr/include/mysql

+1
0
-1
Imagen de Necrotzar
+1
0
-1

una vez salteado el anterior error, al compilar

gcc -o nombre archivo.c

me encontré con lo siguiente

coneccion.c:(.text+0x35): undefined reference to `mysql_init'
coneccion.c:(.text+0x77): undefined reference to `mysql_real_connect'

este se soluciona de la siguiente manera

gcc -o nombre -lmysqlclient archivo.c

espero que les sea de utilidad como lo fue para mi.
saludos!

+1
0
-1
Imagen de anterma
+1
0
-1

Pues a mi con la línea de compilacion: gcc -o nombre -lmysqlclient archivo.c no me funciona, ni siquiera me reconoce la libreria mysql.h

y con la linea gcc -I/usr/include/mysql -L/usr/lib prueba.cc -o prueba -lm -lmysqlclient me da este error:
/tmp/ccixAUmb.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld devolvió el estado de salida 1

la líne aanterior la he hehco siguiento esta plantilla:

$ gcc -o output-file $(mysql_config --cflags) mysql-c-api.c $(mysql_config --libs)

(siendo lo que hay entre parentesis una llamada previa par aobtener un dato)

Alguna idea?
saludos

+1
0
-1
Imagen de Necrotzar
+1
0
-1

revisa las librerías de Mysql, de la siguiente forma.

$ mysql_config --libs

lo cual te tendria que devolver lo siguiente.

 -L'/usr/lib' -lmysqlclient -lz -lcrypt -lnsl -lm

si todo esta en orden, deberías poder compilar el archivo.c de la siguiente manera

$ gcc -o nombre archivo.c -L'/usr/lib' -lmysqlclient -lz -lcrypt -lnsl -lm 

si esto te devuelve error, copialo y pegalo aquí.

p/d: revisa en el código fuente del archivo.c el

#include <mysql.h>

y modificalo a

#include <mysql/mysql.h>
+1
0
-1
Imagen de anterma
+1
0
-1

Todo arreglado,

La línea de compilación -> http://www.cyberciti.biz/tips/linux-unix-connect-mysql-c-api-program.html

El error __gxx_personality_v0' se soluciona -> http://chuidiang.blogspot.com/2005/10/gxxpersonalityv0.html

Saludos

+1
0
-1