Tengo un problema al compilar un programa escrito en C desde Windows. Al compilar me da un error en la librería mysql_com.h
, exactamente en la línea 154:
my_socket fd; /* For Perl DBI/dbd */
Y en la linea 298:
int my_connect(my_socket s, const struct sockaddr *name, unsigned int namelen,unsigned int timeout);
El error que me da el compilador en las dos líneas es el siguiente:
error: unknown type name 'SOCKET'
No tengo conocimientos de C porque nunca he trabajado con este lenguaje. Entiendo que es un problema de definición, pero no se como solucionarlo.
Ahora he añadido dos includes <windows.h> y <winsock.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include <winsock.h>
#include <mysql\mysql.h>
#include <Windows.h>
y me arroja una serie de errores.
undefined reference to `mysql_init@4'
undefined reference to `mysql_real_connect@32'
undefined reference to `mysql_query@8'
undefined reference to `mysql_error@4'
undefined reference to `mysql_store_result@4'
undefined reference to `mysql_num_rows@4'
undefined reference to `mysql_fetch_row@4'
undefined reference to `mysql_fetch_row@4'
undefined reference to `mysql_close@4'
collect2.exe: error: ld returned 1 exit status
Para compilar usé Visual Studio Code y CodeBlocks. En los dos casos devuelve el mismo error.