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

error LNK2019: símbolo externo

Estas en el tema de error LNK2019: símbolo externo en el foro de C/C++ en Foros del Web. buenos dias , alguien podria ayudarme con los siguientes errores , no tengo mucha idea de que falta , y por q no deja compilar. ...
  #1 (permalink)  
Antiguo 08/04/2016, 09:25
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 8 años, 7 meses
Puntos: 0
Busqueda error LNK2019: símbolo externo

buenos dias , alguien podria ayudarme con los siguientes errores , no tengo mucha idea de que falta , y por q no deja compilar.

estoy compilando un programa c en visual estudio 2013 y code block , agrego todas las librerias, pero parace que no reconoce funciones , estos son los errores, me podrian explicar que pasa .

1>SendData.obj : error LNK2019: símbolo externo ___WSAFDIsSet@8 sin resolver al que se hace referencia en la función __CipRecvData
1>SendData.obj : error LNK2019: símbolo externo __imp__connect@12 sin resolver al que se hace referencia en la función __CipOpenSock
1>SendData.obj : error LNK2019: símbolo externo __imp__htons@4 sin resolver al que se hace referencia en la función __CipOpenSock
1>SendData.obj : error LNK2019: símbolo externo __imp__inet_addr@4 sin resolver al que se hace referencia en la función __CipOpenSock
1>SendData.obj : error LNK2019: símbolo externo __imp__recv@16 sin resolver al que se hace referencia en la función __CipRecvData
1>SendData.obj : error LNK2019: símbolo externo __imp__select@20 sin resolver al que se hace referencia en la función __CipRecvData
1>SendData.obj : error LNK2019: símbolo externo __imp__send@16 sin resolver al que se hace referencia en la función __CipSendData
1>SendData.obj : error LNK2019: símbolo externo __imp__socket@12 sin resolver al que se hace referencia en la función __CipOpenSock
1>SendData.obj : error LNK2019: símbolo externo __imp__gethostbyname@4 sin resolver al que se hace referencia en la función __CipOpenSock
1>SendData.obj : error LNK2019: símbolo externo __imp__WSAStartup@8 sin resolver al que se hace referencia en la función __InitWSA


muchas gracias , de antemano
  #2 (permalink)  
Antiguo 08/04/2016, 10:02
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 9 meses
Puntos: 3
Respuesta: error LNK2019: símbolo externo

Yo diria que te falta el archivo de cabecera de la libreria. O sea que aunque tengas el .lib sigues necesitando el .h ya que en el se definen las funciones y demás. Tienes que poner su correspondiente #include "libreria.h"
  #3 (permalink)  
Antiguo 08/04/2016, 10:14
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: error LNK2019: símbolo externo

Símbolo no encontrado... Te está fallando el linkado. Revisa la configuración de tu proyecto porque no estás incluyendo el .o, .a o .lib donde se encuentran esos elementos.

Un saludo
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.
  #4 (permalink)  
Antiguo 08/04/2016, 10:48
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: error LNK2019: símbolo externo

gracias por sus respuestas , pero no logro resolver el problema.
voy a explicar mas detalladamente un error, para ver si me pueden ayudar un poco mas

por ejemplo para este error

1>Ethernet_IP.obj : error LNK2019: símbolo externo __imp__WSACleanup@0 sin resolver al que se hace referencia en la función _CloseSession

voy al archivo Ethernet_IP.c y entre todo el codigo , lo relevante es lo siguiente q contiene ;

#ifdef _WIN32
#include <winsock2.h>
#endif



#ifdef _WIN32
WSACleanup(); // -> si comento esta linea deja de ocurrir el error
#endif
free(session);


no me explico, por que no reconoce dicha funcion que esta definida en el archivo < winsock2.h>
gracias por su ayuda un saludo
  #5 (permalink)  
Antiguo 08/04/2016, 15:52
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: error LNK2019: símbolo externo

Por alguna razón el compilador no está enlazando con la librería de winsock, es decir, wsock32.lib.

Prueba a añadir esta cabecera para intentar forzar su inclusión. Prueba estas dos combinaciones a ver si alguna te soluciona el problema:

Código C:
Ver original
  1. #pragma comment(lib, "wsock32.lib")

Código C:
Ver original
  1. #pragma comment(lib, "Ws2_32.lib")

Si no funciona deberías revisar el proyecto para asegurarte de que el compilador tiene cargada dicha librería.

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.
  #6 (permalink)  
Antiguo 11/04/2016, 09:43
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: error LNK2019: símbolo externo

Cita:
Iniciado por eferion Ver Mensaje
Por alguna razón el compilador no está enlazando con la librería de winsock, es decir, wsock32.lib.

Prueba a añadir esta cabecera para intentar forzar su inclusión. Prueba estas dos combinaciones a ver si alguna te soluciona el problema:

Código C:
Ver original
  1. #pragma comment(lib, "wsock32.lib")

Código C:
Ver original
  1. #pragma comment(lib, "Ws2_32.lib")

Si no funciona deberías revisar el proyecto para asegurarte de que el compilador tiene cargada dicha librería.

Un saludo.


si me funciono para el error con las librerias wsock32 , muchas gracias .
desafortunadamente me hay muchos errores de la misma clase con otras librerias, pero del proyecto , alguna idea o recomendacion de como hacer para que reconosca dichas librerias de forma automatica y la razon de por que no lo hace , estaria haciendo mal el proyecto?
  #7 (permalink)  
Antiguo 11/04/2016, 10:03
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: error LNK2019: símbolo externo

Como te comenté el problema es de link. Busca entre las propiedades del proyecto alguna que te permita añadir librerías externas (.a o .lib, dependiendo del compilador)
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.

Etiquetas: externo, funcion, programa
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 11:28.