C/Visual C - URGENTE-problemas al crear dll

 
Vista:

URGENTE-problemas al crear dll

Publicado por jsala (1 intervención) el 04/05/2001 17:29:30
Compilo des de la interfaz de comandos para crear una dll a partir de un .c, i me sale el siguiente
error:
*****
C:\projecte\inicia>cl -Ic:\jdk1.3\include -Ic:\jdk1.3\include\win32 -Ic:\precise
100\include -LD IniciaImp.c -FeInicia.dll
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

IniciaImp.c
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/dll
/implib:Inicia.lib
/out:Inicia.dll
IniciaImp.obj
Creating library Inicia.lib and object Inicia.exp
IniciaImp.obj : error LNK2001: unresolved external symbol _pbInitialize@0
Inicia.dll : fatal error LNK1120: 1 unresolved externals

C:\projecte\inicia>
****
la pbInitialize la tengo definida en un .h, que "me lo pilla" bien, i el .lib lo tengo en el directorio lib de
vc98,....
Si alguien puede ayudarme me hara un gran favor,...
muchas gracias...
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

Error al compilar una DLL con referencias externas no resueltas

Publicado por Alejandro (913 intervenciones) el 24/09/2024 19:32:51
JSala, el error que estás experimentando indica que hay una referencia externa no resuelta en tu código. En particular, el error LNK2001 se refiere a una referencia no resuelta al símbolo "_pbInitialize@0".

Para solucionar este problema, asegúrate de seguir los siguientes pasos:

1. Verifica que estás incluyendo correctamente los archivos de encabezado (.h) necesarios en tu archivo de código fuente (.c). En este caso, asegúrate de que el archivo de encabezado que contiene la definición de "pbInitialize" esté incluido en tu archivo "IniciaImp.c" utilizando la directiva `#include`.

2. Asegúrate de que estás enlazando correctamente la biblioteca (.lib) que contiene la implementación de "pbInitialize". Verifica que la biblioteca "Inicia.lib" esté presente en el directorio de bibliotecas correcto y que esté siendo enlazada correctamente en tu comando de compilación. Puedes verificar esto revisando la configuración de tu proyecto o ajustando el comando de compilación para incluir la opción `/link` seguida del nombre de la biblioteca.

3. Si la biblioteca "Inicia.lib" fue compilada en otro entorno o con una versión diferente del compilador, es posible que haya incompatibilidades. Asegúrate de que la biblioteca fue compilada con la misma versión y configuración del compilador que estás utilizando actualmente.

4. Si estás utilizando funciones o variables definidas en una biblioteca externa, asegúrate de que estás incluyendo los archivos de encabezado correspondientes y enlazando correctamente la biblioteca en tu proyecto.

Si después de verificar estos pasos el problema persiste, es posible que necesites revisar la implementación de "pbInitialize" y asegurarte de que esté correctamente definida y enlazada en tu proyecto.

Espero que esta información te sea útil para solucionar el error.
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