0

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.

Mega
  • 11
  • 3
  • Probablemente te falta un `include`. ¿Qué `includes` estás incluyendo? – Candid Moe Feb 04 '21 at 11:29
  • Posiblemente te falte incluir `#include ` antes de incluir `mysql.h`. ¿Qué IDE estás usando para compilar? – SuperG280 Feb 04 '21 at 13:42
  • 2
    ¿Responde esto a tu pregunta? [Simbolo externo sin resolver ¿Qué he hecho mal?](https://es.stackoverflow.com/questions/65557/simbolo-externo-sin-resolver-qu%c3%a9-he-hecho-mal) – Trauma Feb 09 '21 at 08:59

0 Answers0