¿Cuál es la diferencia entre libsqlite3.dylib y libsqlite3.0.dylib?

112

Estoy comenzando con bases de datos SQLite en una aplicación en la que estoy trabajando. Aún no he tenido problemas, pero uno de los primeros pasos de este tutorial es vincular el marco SQLite3. El tutorial llama a libsqlite3.0.dylib pero noté otro libsqlite3.dylib. ¿Es este último solo un enlace simbólico a la última biblioteca v3 como la convención para administradores de paquetes en UNIX o hay alguna diferencia?

Adán

Earnshavian
fuente

Respuestas:

95

¿Es este último solo un enlace simbólico a la última biblioteca v3 como la convención para administradores de paquetes en UNIX?

Eso es exactamente.

Jeff Kelley
fuente
Gracias Jeff, no estaba seguro y no quería asumir de ninguna manera.
Earnshavian
5
Lo siento, ¿esto significa cuál "debería" usarse en un proyecto?
SG1
24
En términos generales, a menos que tenga necesidades específicas que estén vinculadas a la versión exacta de libsqlite3, debe usar libsqlite3.dylibal vincular.
Jeff Kelley
33

En realidad, en libsqlite3.dylibsí mismo es un vínculo que señala libsqlite3.0.dylib. En otras palabras, en el proyecto si agrega libsqlite3.dylib y agrega libsqlite3.0.dylib para agregar realmente el mismo archivo, no hay diferencia, entonces, ¿por qué desea agregar libsqlite3.dylib?

El porque libsqlite3.dylib siempre apunta a la última biblioteca dinámica sqlite3 , es decir, si hay una nueva biblioteca dinámica (por ejemplo: libsqlite3.1.dylib) libsqlite3.dylib apuntará a esta nueva dinámica (libsqlite3.1.dylib,) en lugar de que en libsqlite3.0.dylib! ¡Así que recomiendo o agregar libsqlite3.dylib!

Referencia: http://www.databaseskill.com/3734528/

Imran
fuente