| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
MatZ
Registrado: 23 Sep 2004 Mensajes: 82 Ubicación: Valencia
| Publicado: 27/08/2006 11:27 pm | | | Título: No consigo usar sqlite |
| Hola a todos, necesito usar sqlite en un programa pero no se como usarlo. He mirado la pagina de sqlite pero no consigo que funcione. El caso es que me descargo la dll pero luego no consigo usarla. He usado el metodo LoadLibrary ("sqlite3.dll") para cargarla pero cuando escribo alguna funcion el compilador me da fallo y me dice que no encuentra las funciones. Alguien me podria ayudar a que funcione?? Supongo que sera que enlazo mal la dll pero no se como hacerlo bien. Estoy usando Dev-Cpp. Gracias por adelantado.
Saludos |
|
| Volver arriba | |
 |
kanijo
Registrado: 11 Ago 2006 Mensajes: 88
| Publicado: 28/08/2006 12:25 am | | | Título: |
| Bueno, si especificas el lenguaje que estás usando, el compilador etc sería más fácil, pero creo que tu problema es que no le envías al linkador la librería de sqlite.
Un saludo |
|
| Volver arriba | |
 |
MatZ
Registrado: 23 Sep 2004 Mensajes: 82 Ubicación: Valencia
| Publicado: 28/08/2006 12:52 am | | | Título: |
| | Cierto se me habia olvidado decirlo, estoy trabajando en c++ y con Dev-Cpp. Nunca he usado dll entonces me encuentro muy perdido con esto, haber si me podeis hechar una mano para solucionarlo. ¿Como le envio al linkador la libreria de sqlite? He probado en opciones del proyecto en linkador a añadir la dll pero me sigue dando error. |
|
| Volver arriba | |
 |
|
kanijo
Registrado: 11 Ago 2006 Mensajes: 88
| Publicado: 28/08/2006 2:08 am | | | Título: |
| Lo más fácil para usar sqlite en Dev-Cpp es descargarlo desde el buscador de actualizaciones. Una vez hecho esto sólo tienes que incluir <sqlite3.h> en tus programas y añadir al linkador la línea -lsqlite3
Un saludo |
|
| Volver arriba | |
 |
MatZ
Registrado: 23 Sep 2004 Mensajes: 82 Ubicación: Valencia
| Publicado: 28/08/2006 2:18 am | | | Título: |
| Muchas gracias kanijo de esa forma si que he conseguido que me funcione. Pero tengo curiosidad si lo sabes me podrias decir como hubiese podido utilizar la dll sin tener que descargarme la actualizacion? Gracias de nuevo.
Saludos |
|
| Volver arriba | |
 |
kanijo
Registrado: 11 Ago 2006 Mensajes: 88
| Publicado: 28/08/2006 2:40 am | | | Título: |
| ¿Estás seguro de que el problema anterior era en el linkado? Podría ser que sólo hubieses descargado la dll pero no el header por lo que el compilador no reconocería las funciones y estructuras de datos de SQLite.
Recuerda que la DLL debe estar accesible al ejecutable, bien teniéndola en el mismo directorio o bien incluyéndola en el PATH.
Un saludo |
|
| Volver arriba | |
 |
|
MatZ
Registrado: 23 Sep 2004 Mensajes: 82 Ubicación: Valencia
| Publicado: 28/08/2006 3:06 am | | | Título: |
| Efectivamente es lo que has dicho, me habia bajado la dll pero no tenia el header, lo he buscado y ahora me funciona tambien de esta forma. Muchas gracias por tu ayuda.
Saludos |
|
| Volver arriba | |
 |
MatZ
Registrado: 23 Sep 2004 Mensajes: 82 Ubicación: Valencia
| Publicado: 28/08/2006 2:14 pm | | | Título: |
| Hola de nuevo, me a surgido un problema de nuevo. Ahora estoy con visual studio .net 2005 y tengo el mismo problema no consigo linkar la dll. Me he metido en opciones del proyecto y en vinculador, pero no se en que apartado poner la dll. He probado a ponerla en dependencias adicionales pero me da el siguiente error:
| Código: | fatal error LNK1107: archivo no válido o dañado: no se puede leer en 0x2B8 |
Tambien he probado a ponerla en Archivos DLL de carga rechazada pero me da los siguientes errores:
| Código: | LINK : warning LNK4199: se ha omitido /DELAYLOAD:sqlite3.dll; no se encontró ninguna importación desde sqlite3.dll main.obj : error LNK2019: símbolo externo _sqlite3_close sin resolver al que se hace referencia en la función _main main.obj : error LNK2019: símbolo externo _sqlite3_exec sin resolver al que se hace referencia en la función _main main.obj : error LNK2019: símbolo externo _sqlite3_open sin resolver al que se hace referencia en la función _main |
Alguien me puede decir donde tengo que poner la dll. Muchas gracias por la ayuda. |
|
| Volver arriba | |
 |
MatZ
Registrado: 23 Sep 2004 Mensajes: 82 Ubicación: Valencia
| Publicado: 29/08/2006 1:19 pm | | | Título: |
| Buenas aqui sigo peleandome con las dll, he conseguido avanzar algo. He conseguido enlazar la dll estaticamente, para ello he realizado lo siguiente:
Como tenial el archivo dll, el archivo .h y el archivo .def he usado la utilidad lib que traia el visual studio 2005 de esta forma:
| Código: | c:\>lib /def:sqlite.def |
Esto me a creado el archivo .lib que he podido enlazar sin problemas en mi aplicación. Esto lo expongo aqui por si alguien tenia una duda similar que le pueda servir.
Ahora me gustaria poder hacer el enlace dinamico de la dll pero no consigo hacerlo, lo unico que consigo es que me den los errores que he mencionado en mi post anterior. ¿Alguien me podria ayudar a enlazar dinamicamente la dll en visual studio .net 2005?
Saludos |
|
| Volver arriba | |
 |
|
|