[C con Clase] Aprendiendo MySQL + API C

Salvador Pozo salvador en conclase.net
Mar Feb 21 12:57:10 CET 2017


El pasado 2017-02-21 03:20:41, Carolina Herrera escribió:

CH> Encontré un programa que en teoría funciona en C y utiliza MySQL, el problema es que incluye el archivo "mysql.h", ya lo busqué en mi pc, pero no encuentro dicho archivo [☹]

CH> Intenté bajarlo de internet, pero tampoco pude encontrarlo, tengo entendido (por lo poco que leí) que es el que se encarga de enlazar mi programa en C con el MySQL, alguien sabe donde puedo encontrarlo?

Hola:

No sólo necesitas los ficheros de cabecera (.h), también necesitas ficheros de librería de enlace dinámico (DLL) y ficheros de librería de enlace estático, para poder acceder a la DLL (.lib o .a).

Lamentablemente MySQL ya no es libre, y además, las versiones actuales son algo diferentes que la que se documenta en la página de "Con Clase".

En la página está explicado el procedimiento para obtener los ficheros de cabecera y de librería:
http://conclase.net/c/mysql/index.php?cap=000b#inicio

Puedes encontrar un procedimiento general para conseguir ficheros .a a partir de .lib o .dll en:
https://blogconclase.wordpress.com/2013/04/26/crear-librerias-a-a-partir-de-librerias-lib/

Esto es si usas el compilador MinGW, si usas un compilador de Microsoft no necesitas un fichero .a, bastará con el .lib.

Dado que estos ficheros se extraen del paquete de instalación de MySQL, es probable que los obtenidos para diferentes versiones de MySQL no sean compatibles entre si. Podría enviarte los ficheros necesarios, pero no te aseguro que funcionen en tu versión.

Otra opción es usar otro motor de bases de datos. Por ejemplo, MariaDB:
https://mariadb.org/

Es un proyecto que se separó de MySQL cuando fue comprado por Oracle, y que sigue siendo software libre. Las primeras versiones son virtualmente idénticas, aunque desde que se separaron han evolucionado por separado, aún son compatibles casi al 100%.

En cualquier caso, si descargas MySQL o MariaDB, en ambos casos se incluyen dos carpetas: lib e include.

En la primera encontrarás los ficheros de librería DLL, y en el segundo, los ficheros de cabecera .h.

En ambos casos usan los mismos nombres de fichero (mysql.h, libmysql.dll, etc)

Si no consigues encontrar los ficheros necesarios, me dices que versión usas y te los enviaré o los pondré para descarga.

Hasta pronto.

-- 
Salvador Pozo (Administrador)
mailto:salvador en conclase.net
Blog con Clase: http://blogconclase.wordpress.com
Con Clase: http://conclase.net


Más información sobre la lista de distribución Cconclase