Visual C++ .NET - Implementación de un gestor SNMP en Visual C++

 
Vista:

Implementación de un gestor SNMP en Visual C++

Publicado por KAYSS (3 intervenciones) el 09/05/2007 18:25:20
Hola,

Estoy implementando un gestor de SNMP en visual.

Utilizo las librerías de net-snmp.

El problema surge al utilizar la librería WINSOCK.DLL, en concreto da el error:

error LNK2028: se hace referencia al símbolo (token) sin resolver (0A000011) "extern "C" int __stdcall select(int,struct fd_set *,struct fd_set *,struct fd_set *,struct timeval const *)

esta llamada hace referencia al código (incluido en un .h, denominado winsock.h):

int __stdcall far select (
IN int nfds,
IN OUT fd_set FAR *readfds,
IN OUT fd_set FAR *writefds,
IN OUT fd_set FAR *exceptfds,
IN const struct timeval FAR *timeout);

que supuestamente es la que hace uso de la librería winsock de windows pues en su cabecera indica:
INSOCK.H--definitions to be used with the WINSOCK.DLL

Por favor, espero me podais ayudar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Problema con librería WINSOCK.DLL en gestor de SNMP

Publicado por Alejandro (265 intervenciones) el 30/01/2024 22:51:45
Kayss, en tu implementación del gestor de SNMP en Visual C++, te encuentras con un problema relacionado con la librería WINSOCK.DLL y específicamente con la función `select`. El error que recibes es:

1
error LNK2028: se hace referencia al símbolo (token) sin resolver (0A000011) "extern "C" int __stdcall select(int,struct fd_set *,struct fd_set *,struct fd_set *,struct timeval const *)

Este error indica que no se ha podido resolver el símbolo para la función `select`, que forma parte de la librería WINSOCK.DLL. El código de la función `select` que estás utilizando se encuentra en un archivo de encabezado (header file) llamado winsock.h, y la firma de la función es la siguiente:

1
2
3
4
5
6
7
int __stdcall far select(
    IN int nfds,
    IN OUT fd_set FAR *readfds,
    IN OUT fd_set FAR *writefds,
    IN OUT fd_set FAR *exceptfds,
    IN const struct timeval FAR *timeout
);

La función `select` está diseñada para trabajar con la librería WINSOCK.DLL y se encuentra en el archivo de encabezado WINSOCK.H.

Para abordar este problema, aquí tienes algunas sugerencias:

1. Orden de inclusión de bibliotecas: Asegúrate de que estás incluyendo las bibliotecas necesarias en el orden correcto. En algunos casos, el orden de inclusión de las bibliotecas puede afectar la resolución de símbolos.

2. Compatibilidad de versiones: Verifica que la versión de la librería net-snmp que estás utilizando sea compatible con la versión de la librería WINSOCK.DLL. Puede haber problemas si hay incompatibilidades entre versiones.

3. Referencias adicionales: Asegúrate de que has agregado las referencias adecuadas a tu proyecto para las librerías necesarias. Esto puede incluir configurar las propiedades del proyecto para vincular las bibliotecas necesarias.

4. Compatibilidad de 32 bits y 64 bits: Asegúrate de que estás utilizando las versiones correctas de las bibliotecas (32 bits o 64 bits) según la configuración de tu proyecto.

Revisa estos puntos y ajusta tu configuración en consecuencia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar