Resulta que algunas veces es necesario acceder desde C/C++ a MySQL, razones hay muchas…. el asunto es como hacerlo.
Antes de hacer cualquier cosa debemos instalar las librerías de desarrollo de MySQL:
sudo apt-get install libmysqlclient-dev
Todos los archivos que necesitaremos van a estar ubicados en /usr/include/mysql y /usr/lib/mysql , los parámetros para compilar un archivo simple es como sigue:
gcc archivo.cpp \
-o archivo \
-I/usr/include/mysql -L/usr/lib/mysql \
-lmysqlclient -lstdc++ -lz
Una breve descripción de los parámetros:
-o
(output) indica el nombre que va a tener el archivo de resultado
-I
le dice al compilador que incluya una ruta adicional para los archivos de inclusión
-L
le dice al enlazador que incluya una ruta adicional para los archivos de librería dependientes
-l
(ele minuscula) le dice al enlazador que incluya la librería especificada
\
es el caracter que usamos en la linea de comando para ejecutar varias lineas como una sola expresión.
Escribí para ustedes un código de ejemplo, no es gran cosa pero les va a dar luces para sus proyectos:
//conexion.cpp
#include
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
MYSQL mysql;
mysql_init(&mysql);
if (!mysql_real_connect(&mysql
,"localhost"
,"root"
,""
,"ciudades",0,NULL,0))
{
cerr<<"Horror ! : "
<
El resultado de la ejecución es:
ivancp@ubuntu$ ./conexion
01 AMAZONAS
02 ANCASH
03 APURIMAC
04 AREQUIPA
05 AYACUCHO
06 CAJAMARCA
07 CALLAO
08 CUSCO
09 HUANCAVELICA
10 HUANUCO
11 ICA
12 JUNIN
13 LA LIBERTAD
14 LAMBAYEQUE
15 LIMA
16 LORETO
17 MADRE DE DIOS
18 MOQUEGUA
19 PASCO
20 PIURA
21 PUNO
22 SAN MARTIN
23 TACNA
24 TUMBES
25 UCAYALI
Espero les sirva mucho!