| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
MatZ
Registrado: 23 Sep 2004 Mensajes: 82 Ubicación: Valencia
| Publicado: 15/10/2007 2:15 pm | | | Título: No tener que distribuir los archivos dll |
| Hola a todos, tengo una duda y me gustaría que me ayudarais a solucionarla. El caso es que estoy desarrollando una aplicación en C++ y utilizo la librería libxml para manipular archivos xml. Actualmente, para que se ejecute la aplicación tengo que incluir el archivo libxml2.dll en el mismo directorio que el .exe Utilizo el Visual Studio 2005 y me gustaría saber si hay alguna forma de no tener que incluir el archivo dll y de esta forma a la hora de distribuirla simplemente tener el archivo exe. Muchas gracias. |
|
| Volver arriba | |
 |
Killrazor
Registrado: 24 Ene 2006 Mensajes: 1179 Ubicación: Barcelona
| Publicado: 15/10/2007 11:26 pm | | | Título: |
| La idea es conseguir el archivo .lib y compilarla dentro del ejecutable. Para ello deberias conseguir la libreria estatica, es decir, los creadores de la libreria ya deberian haberlo pensado y hecho asi. Si no, la forma alternativa seria usar directamente los fuente de la libreria y meterlos dentro de tu aplicacion y compilarlos, pero esto puede ser mas complicado.
Un detalle importante. Si el proyecto es lgpl puedes tener algun problema de licencia al distribuir tu programa de esa manera a menos que explicitamente avises de que estas haciendo uso de esta libreria. Si uincluyes la libreria no tienes este problema _________________ I wanna heal i wanna feel like I'm close to something real. I wanna find something I've wanted all along somewhere i belong |
|
| Volver arriba | |
 |
MatZ
Registrado: 23 Sep 2004 Mensajes: 82 Ubicación: Valencia
| Publicado: 16/10/2007 6:44 am | | | Título: |
| | Muchas gracias por tu respues Killrazor, pero no consigo solucionarlo. Yo tengo el archivo libxml2.lib y en el visual studio en la parte del vinculador, en dependencias adicionales la añado pero aun así cuando ejecuto el programa me pide el archivo dll. Al ponerle el archivo .lib en el vinculador ¿no tendria que dejarme ejecutar el programa sin dar error por la dll? |
|
| Volver arriba | |
 |
|
Karman
Registrado: 15 Oct 2005 Mensajes: 308
| Publicado: 16/10/2007 7:49 am | | | Título: |
| El archivo lib no determina si el enlace es estático o dinámico, especifica como es el tipo de enlace pudiendo contener en su interior el nombre de la DLL (dinámico) o el fichero Objeto (Estático), un ejemplo de esto son las librerías .lib del sistema, las cuales no contienen los códigos de las funciones sino la DLL que las contiene...
S2 _________________ www.inexinferis.co.nr
-. Karman .- |
|
| Volver arriba | |
 |
Killrazor
Registrado: 24 Ene 2006 Mensajes: 1179 Ubicación: Barcelona
| Publicado: 17/10/2007 3:17 am | | | Título: |
| A ver, he ido a la pagina http://www.zlatkovic.com/libxml.en.html que es desde donde te puedes bajar los binarios (dlls) para windows. Si lees las notas, existe la siguiente explicacion:
| Cita: | If you link to libxml statically, make sure that @lib@_STATIC macro is defined during the compilation of your sources, where @lib@ stands for LIBXML, LIBXSLT, LIBEXSLT and XMLSEC respectively.
|
Lo que me lleva a pensar que no existen librerias estaticas, por que basicamente lo que explica es que para hacer una compilacion de librerias estaticas te lo tienes que hacer desde el codigo fuente tu mismo.
Como dice Karman, no depende de lo que quieres hacer sino de como te lo dan hecho. Por poner un ejemplo, un desarrollador te puede dar los fuentes para que te lo compiles tu mismo, te puede dar binarios compilados dinamicos(dll + .lib dinamica) o te puede dar binarios estaticos(.lib estatica).
Lo que has descargado son los binarios dinamicos, asi que mucho me temo que para incrustarlo en tu codigo deberias compilarlo tu mismo. _________________ I wanna heal i wanna feel like I'm close to something real. I wanna find something I've wanted all along somewhere i belong |
|
| Volver arriba | |
 |
MatZ
Registrado: 23 Sep 2004 Mensajes: 82 Ubicación: Valencia
| Publicado: 17/10/2007 4:58 am | | | Título: |
| | Muchas gracias a los dos, ahora si que lo he entendido bien. Pues nada finalmente distribuiré las dll junto a mi aplicación. De nuevo gracias a los dos. |
|
| Volver arriba | |
 |
|
|