C/Visual C - Cargar DLL en Visual Studio 2005

   
Vista:

Cargar DLL en Visual Studio 2005

Publicado por jhon (4 intervenciones) el 26/02/2008 22:42:02
Que tal comunidad,

Les comento,

Relice una DLL en Visual Studio 6.0
de la siguiente forma:

NEW->project-->Win32 Dinamic Linker Library
-- esto me genera (.DLL y .LIB)
y la probe con una aplicacion de consoloa... y todo muy bien!!!!!!!!!

EL PROBLEMA surge cundo intento cargar esta DLL en Visual Studio 2005

al intentar cargar la REFERENCIA
con PROJECT-> Add Reference
"marca error pues dice que dicho archivo no es un componente"

1. Cual seria la forma correcta de registrar la dll en Visual Satudio 2005?
2. Debo generar la DLL desde Visual Studio 6.0 de otra forma?
3. Es posible realizar DLL´s en VS 6.0 y cargarlas en VS 2005?

Gracias de antemano...
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

RE:Cargar DLL en Visual Studio 2005

Publicado por fernando.gomez (1604 intervenciones) el 28/02/2008 01:30:13
Ok, cuando generas una DLL y exportas funcioens o clases (en C, poniéndolos en el archivo de recurso, y en C++ empleando el modificador __declspec(dllexport)) el compilador te generará tu dll y un archivo lib.

Para "importar" esa DLL necesitas la declaración del símbolo y en el caso de C++, que estén marcados con el modificador __declspec(dllimport). Este header lo #incluirás en el archivo cpp correspondiente al proyecto que va a importar la DLL. Con esto ya compila, pero tienes que enlazarlo. En VC++ 8, selecciona el menú Project->properties y luego selecciona Linker->Input y en "additional dependencies" escribe el nombre del archivo lib (digamos: milibreria.lib). Con esto harás un enlazado directo con esa DLL (el LIB se encarga de ello). Luego, en la misma ventana vete a Linker->general y donde dice "additional library dependencies" puedes escribir el directorio donde se encuentra tu LIB.

Clickás en aceptar y listo.

Saludos.
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