Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: rod00x3 en 7 Enero 2013, 22:31 pm



Título: Establecer comunicacion con Mysql desde C
Publicado por: rod00x3 en 7 Enero 2013, 22:31 pm
Hola en internet encuentras miles de ejemplos pero en la practica parece no funcionar ninguno. uno de los mas completos que encontre fue http://anaturb.net/MySQL/mysql_c.htm, pero el problema es al copilar, trato de copilar con gcc, y me aparece el error siguiente:

ser4.c:(.text+0x46): undefined reference to `mysql_init'
ser4.c:(.text+0x92): undefined reference to `mysql_real_connect'

Que puedo hacer para evitar esto??
tengo ubuntu


Título: Re: Establecer comunicacion con Mysql desde C
Publicado por: BlackZeroX en 8 Enero 2013, 03:07 am
¿Enlazaste la librería?
http://blog.desdelinux.net/acceder-a-mysql-usando-c/

Si usas Windows o algún otro S.O. Ignora que sea la liga en una plataforma LINUX ya que es el mismo proceso (usando un poco de LÓGICA se pueden transpasar los pasos a windows).

SI no das una se soluciona compilando:

Código
  1. gcc -o nombre -lmysqlclient archivo.c
  2.  

Más info: http://www.ubuntu-es.org/node/92799#.UOt_62-qmKY

Dulces Lunas!¡.


Título: Re: Establecer comunicacion con Mysql desde C
Publicado por: rod00x3 en 9 Enero 2013, 00:57 am
Antes que nada gracias por tu aportacion me dio mucho mas esperanzas de que esto quede, pero aun sigo sin lograrlo, ahora siguiendo el enlace que me diste, todo parece bien pero a la hora de compilar no me genera el ejecutable. despues de la linea de compilacion


gcc -o Consulta $(mysql_config --cflags) Consulta.c $(mysql_config -–libs)
en mi caso:

gcc -o ser4 $(mysql_config --cflags) ser4.c $(mysql_config -.libs)
donde ser4.c es mi programa, y esta en la carpeta donde compilo, me devuelve el siguiente texto sin ningun mensaje de error:

gcc (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
Copyright (C) 2006 Free Software Foundation, Inc.
Esto es software libre; vea el código para las condiciones de copia.  NO hay
garantía; ni siquiera para MERCANTIBILIDAD o IDONEIDAD PARA UN PROPÃSITO EN
PARTICULAR

y luego trato de ejecutar ./ser4

y me devuelve :

-bash: ./ser4: No existe el fichero ó directorio

ahora que estoy haciendo mal??


Título: Re: Establecer comunicacion con Mysql desde C
Publicado por: BlackZeroX en 9 Enero 2013, 01:05 am
 - Antes de hacer nada VERIFICA que se haya compilado...

Algunas acotaciones:
 - Si ya te compilo y estas bajo una distribución de linux, otorga-le los permisos de ejecución al archivo (obviamente para poderlo ejecutar debes desplazarte hasta el directorio donde se encuentra el archivo compilado con el comando "cd").

Dulces Lunas!¡.


Título: Re: Establecer comunicacion con Mysql desde C
Publicado por: rod00x3 en 9 Enero 2013, 01:25 am
Como puedo comprovar que haya compilado?? tecleo la linea y no me manda ningun error, ya intente buscar el ejecutable con locate ser4 y nada, entro como root, asi que tengo todos los permisos, creo, y lo que mas me desconcierta es que no me manda ningun error, pero no me genera el ejecutable, a cuando compilo lo unico que me responde es:

gcc (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4)
Copyright (C) 2006 Free Software Foundation, Inc.
Esto es software libre; vea el código para las condiciones de copia.  NO hay
garantía; ni siquiera para MERCANTIBILIDAD o IDONEIDAD PARA UN PROPÃSITO EN
PARTICULAR


Título: Re: Establecer comunicacion con Mysql desde C
Publicado por: rod00x3 en 9 Enero 2013, 01:48 am
con la compilacion del enlace que me brindaste no me marca ningun error pero no me genera el ejecutable, con la compilacion que me colocaste de gcc -o archivo -lmysqlclient archivo.c, me envia error en la linea donde declaro MYSQL *con

ya no que que mas hacerrr??