| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
dobermannmx Master


Registrado: 30 Ago 2006Mensajes: 191Ubicación: Zapopan, Jal. - México
|
Publicado: Jue 12 Feb, 2009 6:14 pm Asunto: Ligado estático a DLL, y ejecutable pide DLL |
|
|
Hola Foro, mi problema es que ligo una DLL a un ejecutable estáticamente y el ejecutable me sigue pidiendo la DLL para correr, ya revisé las opciones del proyecto y agregué el LIB al proyecto, pero cuando ejecuto mi aplicación me dice que no puede encontrar la DLL, alguien me puede decir que puede estar ocasionando que no se pegue la librería a mi ejecutable?
Saludos _________________ ISC
Dobermannmx |
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Jue 12 Feb, 2009 6:52 pm Asunto: |
|
|
debes usar IMPLIB del builder para crear la librería de una dll, imagino que lo has hecho de esta manera. Después debes preparar al compilador para enlazado estático: En Linker desmarcas Use dynamic RTL y en Packages desmarcas build with runtime packges. Seguro que hasta aquí lo tienes hecho.
Luego añades en tu File.cpp:
| Código: | #pragma link "Libreria.lib"
|
Además en tu proyecto tienes que añadir Libreria.lib.
Saludos. |
|
| Volver arriba |
|
 |
dobermannmx Master


Registrado: 30 Ago 2006Mensajes: 191Ubicación: Zapopan, Jal. - México
|
Publicado: Vie 13 Feb, 2009 1:33 am Asunto: |
|
|
escafandra, lo curioso es que asi lo tengo y se comporta igual, lo único que no hice fué generar el LIB con el IMPLIB, pues el compilador me generaba automáticamente el LIB al compilar la DLL, pero pues voy a hacerlo haber si asi, si no pues ya postearé.
gracias _________________ ISC
Dobermannmx |
|
| Volver arriba |
|
 |
dobermannmx Master


Registrado: 30 Ago 2006Mensajes: 191Ubicación: Zapopan, Jal. - México
|
Publicado: Vie 13 Feb, 2009 1:45 am Asunto: |
|
|
Sigo con el mismo problea escafandra , y en verdad no se me ocurre que más pueda ser, te dejo una liga con la ventana del error haber si te dice algo más.
http://www.micronics.com.mx/foro/ErrorLigadoEstatico.jpg
slaudos _________________ ISC
Dobermannmx |
|
| Volver arriba |
|
 |
escafandra Master

Registrado: 29 Nov 2007Mensajes: 625Ubicación: Madrid - España
|
Publicado: Vie 13 Feb, 2009 10:01 am Asunto: |
|
|
Pues si, con este sistema lo que realmente haces es un enlazado de la dll pero debes distribuirla con tu ejecutable. Realmente no es un enlazado estático de la dll. Este sistema sirve para no tener que importar función por función desde la dll. Ten en cuenta que el lib que genera IMPLIB o el compilador, al compilar la dll, es una libreria de importación solamente.
Si quieres prescindir de la dll, y como veo tienes los fuentes, lo mas práctico será compilarla directamente con tu código en una unidad a parte que contenga todas las funciones que usa la dll. Otra posibilidad es un proyecto de librería.lib, no de dll, que enlazas a us obj.
Saludos. |
|
| Volver arriba |
|
 |
|