Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   C/C++ (http://www.forosdelweb.com/f96/)
-   -   Como se trabaja con librerías dinámica en Visual C++ 2005? (http://www.forosdelweb.com/f96/como-trabaja-con-librerias-dinamica-visual-c-2005-a-503291/)

ArrauKano 05/07/2007 22:26

Como se trabaja con librerías dinámica en Visual C++ 2005?
 
Me gustaría saber eso, porque mi librería ya me compila (y sale el .dll) pero ahora para probarla necesito un programa que se enlace con esta.

Yo sabia que era necesario hacer una librería de importación en .lib y enlazar con ella, ya que esta hace referencia a los símbolos en la .dll desde mi aplicación, pero cuando compilo mi librería sale el .dll y no veo la librería de importación por ninguna parte.

En resumen, como se trabaja con librerías en Visual C++ 2005, si tienen un tutorial o algo, se los agradecería.

Instru 05/07/2007 22:59

Re: Como se trabaja con librerías dinámica en Visual C++ 2005?
 
Pues se supone es de esta manera. yo como desde hace tiempo no uso Windows pues ya no se si siga siendo asi.

Se supone que para enlazar una libreria a un programa tienes de 2 sopas: estaticamente o dinamicamente.
Estaticamente solo necesitas el .lib, que lo unico que hace es pegarse a tu programa principal.
Dinamicamente necesitas el .lib y el .dll.
En los dos necesitas un archivo de cabecera .h.

Entonces en tu codigo principal añades la cabecera de tu libreria(algo.h) y en la primer linea le pones algo como

#pragma comment(lib, "algo.lib");

y con eso te enlaza, solo que debes de asegurarte que el algo.dll este presente a la hora de ejecucion.

no se de que manera este compilando tu, pero se supone que al compilar una dll, te sale el archivo .lib y aparte la .dll.
Ya viste bien todas las carpetas a ver si no quedo por ahi?
Estas compilando en Debug o Release?
Ya viste las opciones del Visual Studio alguna donde aparezca algo relacionado al .lib?

Saludos

osqar 06/07/2007 03:14

Re: Como se trabaja con librerías dinámica en Visual C++ 2005?
 
Tenes que exportar alguna funcion(con __declspec(dllexport) ) sino no te genera el lib. Eso siempre y cuando sea un proyecto nativo, no .NET.

ArrauKano 06/07/2007 15:32

Re: Como se trabaja con librerías dinámica en Visual C++ 2005?
 
pero si le pongo el __declspec(dllexport) a lagun método, no va a afectar el código en otros compiladores?

Mi idea es que el mismo código se pueda ocupar en varios entornos, y de hecho funciona ahora en mingw32 en windows y gcc en linux sin problemas.

Yaraher 06/07/2007 17:34

Re: Como se trabaja con librerías dinámica en Visual C++ 2005?
 
Lo puedes colocar entre condicionales del compilador para que sólo se use en caso de estar en Win32 ;)

ArrauKano 06/07/2007 19:32

Re: Como se trabaja con librerías dinámica en Visual C++ 2005?
 
que define es especifico para VC++8 ?

porque si pongo win32 quizás me reclame el mingw


La zona horaria es GMT -6. Ahora son las 08:21.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.