【发布时间】:2011-05-17 22:10:24
【问题描述】:
我开始在我正在开发的应用程序中使用 SQLite 数据库。我还没有遇到问题,但this tutorial 的早期步骤之一是链接 SQLite3 框架。本教程要求使用 libsqlite3.0.dylib,但我注意到另一个 libsqlite3.dylib。后者只是一个符号链接到最新的 v3 库,就像 UNIX 上的包管理器约定一样,还是有区别?
亚当
【问题讨论】:
我开始在我正在开发的应用程序中使用 SQLite 数据库。我还没有遇到问题,但this tutorial 的早期步骤之一是链接 SQLite3 框架。本教程要求使用 libsqlite3.0.dylib,但我注意到另一个 libsqlite3.dylib。后者只是一个符号链接到最新的 v3 库,就像 UNIX 上的包管理器约定一样,还是有区别?
亚当
【问题讨论】:
后者只是一个符号链接到最新的 v3 库,就像 UNIX 上的包管理器约定一样?
就是这样。
【讨论】:
libsqlite3.dylib。
其实libsqlite3.dylib本身就是一个链接,它指向libsqlite3.0.dylib。
也就是说,在项目中如果添加libsqlite3.dylib和添加libsqlite3.0.dylib实际上是添加同一个文件,没有区别,那为什么要添加libsqlite3.dylib呢?
因为libsqlite3.dylib总是指向最新的sqlite3动态库,也就是说如果有新的动态库(例如:libsqlite3.1.dylib)libsqlite3.dylib会指向这个新的动态 (libsqlite3.1.dylib, ) 而不是在 libsqlite3.0.dylib 中!所以推荐还是添加libsqlite3.dylib!
【讨论】: