Retroceder   Foros del Web > Temas generales de computación > Programación > C/C++

Respuesta
 
Herramientas Desplegado
Antiguo 05-jul-2007, 22:26   #1 (permalink)
ArrauKano está en el buen camino
 
Avatar de ArrauKano
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 649
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.
ArrauKano está desconectado   Responder Citando
Antiguo 05-jul-2007, 22:59   #2 (permalink)
Instru está en el buen camino
 
Avatar de Instru
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.438
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
__________________
Usa las putas faqs:
http://www.forosdelweb.com/showthread.php?t=264647
Instru está desconectado   Responder Citando
Antiguo 06-jul-2007, 03:14   #3 (permalink)
osqar no se puede cailificar en este momento
 
Fecha de Ingreso: febrero-2007
Mensajes: 86
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.
osqar está desconectado   Responder Citando
Antiguo 06-jul-2007, 15:32   #4 (permalink)
ArrauKano está en el buen camino
 
Avatar de ArrauKano
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 649
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.
ArrauKano está desconectado   Responder Citando
Antiguo 06-jul-2007, 17:34   #5 (permalink)
Yaraher tiene algunos puntos positivos de karma
 
Avatar de Yaraher
 
Fecha de Ingreso: abril-2007
Ubicación: Lima, Perú
Mensajes: 248
Enviar un mensaje por MSN a Yaraher Enviar un mensaje por Yahoo  a Yaraher Enviar un mensaje por Skype™ a Yaraher
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 ;)
Yaraher está desconectado   Responder Citando
Antiguo 06-jul-2007, 19:32   #6 (permalink)
ArrauKano está en el buen camino
 
Avatar de ArrauKano
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 649
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
ArrauKano está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 22:51.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93