Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Por que me tira error al compilar un programa con libreria "MYSQL" para conexion db

Estas en el tema de Por que me tira error al compilar un programa con libreria "MYSQL" para conexion db en el foro de C/C++ en Foros del Web. Tengo un poco de enredo con el borland c++, , lo que pasa es esto: cuando insertaba el codigo fuente en el notepad++ para compilar ...
  #1 (permalink)  
Antiguo 27/02/2013, 14:54
 
Fecha de Ingreso: febrero-2013
Mensajes: 10
Antigüedad: 11 años, 2 meses
Puntos: 0
Pregunta Por que me tira error al compilar un programa con libreria "MYSQL" para conexion db

Tengo un poco de enredo con el borland c++, , lo que pasa es esto:

cuando insertaba el codigo fuente en el notepad++ para compilar un simple programa de prueba en borland 5.5 para conectar al servidor mysql, Con la libreria <mysql/mysql.h>, me tira un error = "ERROR : UNRESOLVED EXTERNAL 'MYSQL_CLOSED' REFERENCED FROM C:\BORLAND\BCC55\BIN\NOK.OBJ "

y cuando inserte el mismo codigo en el "DEV-C++" (con las librerias ) y lo compilaba, me tiraba el mismo error " undefined reference MYSQL_CLOSED", y mire un tutorial que decia " para poder compilar el proyecto debemos ir a Proyecto -> Opciones del Proyecto -> Parámetros y en el cuadro Linker escribir: -lmysql" y el programa me corrio de maravilla, mi duda es como solucionar el problema del borland de ese mismo metodo ?? y mire algo como que mysql es una libreria estatica o algo asi, y borland tiene que hacer algunos procedimientos antes de compilar, y si es asi cuales son esos procedimientos ??. por favor ayudenme, y no me pasen el link de c.conclase.com , ya que no le entiendo mucho !!. y disculpenme si no lo entienden muy bien el problema, ya que algunas veces explico un problema poco entendible.
  #2 (permalink)  
Antiguo 01/03/2013, 03:01
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 11 meses
Puntos: 73
Respuesta: Por que me tira error al compilar un programa con libreria "MYSQL" para c

No he trabajado con el compilador Borland, pero lo que sucede es simple:

Aunque incluyas la cabecera de la librería (mysql/mysql.h), NO ESTAS INCLUYENDO LA LIBRERIA. Por lo que he podido ver ( y no solamente por tu caso), es un error muy común llamar librería al archivo de cabecera, cuando el archivo de cabecera contiene los prototipos de funciones y las definiciones de clases, estructuras de datos, etc, de la librería que deben ser conocidos por el programa principal. Además del #include correspondiente (que es una directiva que indica al compilador "coge este archivo y me lo insertas aquí", y nada más), debes indicarle al enlazador (linker) que debe enlazar la librería correspondiente (no es el compilador, sino el enlazador el que te tira el error: te está diciendo que no encuentra esa función).

Eso es lo que sucedió al compilar con Dev-C++: Cuando escribiste en el cuadro Linker "-lmysql", le estabas diciendo "Enlázame la librería mysql", con lo que el linker podía encontrar la función. Tendrás que ver cómo hacer esta indicación al compilar desde línea de comando con el Borland, o cómo indicarlo desde el IDE si estás utilizando uno.

Saludos,
  #3 (permalink)  
Antiguo 01/03/2013, 09:08
 
Fecha de Ingreso: febrero-2013
Mensajes: 10
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Por que me tira error al compilar un programa con libreria "MYSQL" para c

Muchas Gracias, Ahora tiene sentido mi problema.

Etiquetas: c++, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:49.