Sqlite China  
首页 | 各种语言的sqlite编程 | sqlite研究 |sqlite应用实例与杂谈 | sqlite相关下载 | SQlite论坛
当前位置 : 主页>sqlite研究>列表
如何在VS 2003下编译SQLite
来源:工友 作者:工友 时间:2007-12-21

下载

下载 sqlite_source.zip 文件并解压缩. 注意不要下载 .tar.gz 格式压缩的文件,因为它缺少Windows平台所需要的预编译头文件.

创建一个 DLL 工程

1. 文件 > 新建 > 工程

2. 选择创建一个 Visual C++ Win32工程.

3. 选择 "Win32 Project" 工程模版.

4. 输入工程的名字,然后点击完成.

5. 在工程的向导页中选择工程的类型为 "Win32 DLL", 并且把创建一个空项目的复选框钩上. 单击完成,这样你就创建了一个空的 DLL 工程.

把 SQLite 的源文件添加到工程当中去

7. 工程 > 添加现有项

8. 把你解压出来的除去 tclsqlite.c 和 shell.c 两个文件之外的所有 .c 和 .h 文件添加到工程中去.
注意:如果你添加了tclsqlite.c和shell.c文件,则你必须要添加预定义宏 NO_TCL:
a) 点击工程 -> 属性, 转到 C/C++ 项然后选择预处理器
b) 在预处理器定义中加上 NO_TCL 并以分号分隔

Make a .DEF file

9. 把源代码包中的 .def 文件放到工程所在的目录中. 该文件在 2.x.x 版的时候叫 sqlite.def. 在 3.0.x 版之后改为 sqlite3.def.

10. 把 sqlite[3].def 添加到工程中.

11. 选择 工程 > 属性中的链接器,然后找到"输入"这一项. 在 "模块定义文件" 中输入 sqlite[3].def. 注意: 你需要在 Debug 和 Release 中都输入该项才行.

注意: 为了生成其它程序链接 sqlite[3].dll 的 lib 文件,你需要添加一个生成后事件. 在工程的属性中找到生成事件这一项,然后在生成后事件中的命令行里加上"LIB /DEF:<path>\sqlite[3].def", 记得这也是要在 debug 和 release 中都要写上的, 命令行中的 <path> 就是sqlite[3].def所在的绝对路径.

在编译 3.3.7 版的时候(也许其它的版本也需要), 还需要做一个额外的步骤:
把工程的当前目录添加到项目的附加包含目录当中, 具体的做法是:
在工程 > 属性的 C/C++ 选项中的 "常规", 然后在 "附加包含目录中" 输入 "."(一个点表示当前目录).

12. 编译!

VS 2003的工程文件包

如何编译 SQLITE.EXE 命令行程序

如果想编译出 sqlite.exe 命令行程序,则需要做一些设置上的改变. 首先创建工程的时候应该选择"Win32 控制台程序". 然后在往工程里添加文件的时候把 shell.c 也添加进去. 并且不要在加入 .DEF 文件.

sqlite2 的导出文件.

  EXPORTS
sqlite_open
sqlite_close
sqlite_exec
sqlite_last_insert_rowid
sqlite_error_string
sqlite_interrupt
sqlite_complete
sqlite_busy_handler
sqlite_busy_timeout
sqlite_get_table
sqlite_free_table
sqlite_mprintf
sqlite_vmprintf
sqlite_exec_printf
sqlite_exec_vprintf
sqlite_get_table_printf
sqlite_get_table_vprintf
sqlite_freemem
sqlite_libversion
sqlite_libencoding
sqlite_changes
sqlite_create_function
sqlite_create_aggregate
sqlite_function_type
sqlite_user_data
sqlite_aggregate_context
sqlite_aggregate_count
sqlite_set_result_string
sqlite_set_result_int
sqlite_set_result_double
sqlite_set_result_error
sqliteMalloc
sqliteFree
sqliteRealloc
sqlite_set_authorizer
sqlite_trace
sqlite_compile
sqlite_step
sqlite_finalize
sqlite_progress_handler
sqlite_reset
sqlite_last_statement_changes
(阅读次数:
上一篇:SQLite3 C/C++ 开发接口简介(API函数) 三 下一篇:Speed for SQLite(速度评测)
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
§最新评论
热点文章
·SQLite数据库的体系结构
·SQLite与其他数据库的速度
·SQL 语言参考资料
·SQLite语法备忘录
·sqlite 的相关调查1
·嵌入式数据库SQLite的一份
·SQLite在嵌入式Web服务器
·点评主流开源数据库的技术
·基于ARM-Linux的SQLite嵌
·SQLite与其他数据库的速度
·SQLite数据库编程--创建数
·SQL 语法手册
·SQLite Mode 数据库交互的
·SQLITE3 使用总结(3)
·XXTEA加密算法为SQLite 3.
·SQLite 第三版总览(简介)
·SQLite 第三版中的数据类
·用sqlite 执行标准 sql 语
·System.Data.Sqlite 上手
·SQLite编译安装步骤
相关文章
·SQLite Mode 数据库交互的
·SQL 语言参考资料
·SQLite在嵌入式Web服务器
·SQL 语法手册
·System.Data.Sqlite 上手
·SQLite数据库编程--创建数
·SQLite数据库编程--数据库
·SQLite在TorqueScript中的
·关于sqlite_exec回调函数
·用sqlite 执行标准 sql 语

版权Power by DedeCms   后台登陆
Copyright @ 2007