1、进入http://sqlite.org/download.html下载sqlite-amalgamation-3320000.zip和sqlite-dll-win32-x86-3320000.zip,解压。
2、创建一个空的Win32 dll项目,将解压后的文件sqlite3.c、sqlite3.h、sqlite3ext.h和sqlite3.def四个文件添加进来。编译,没有报错,但是只生成sqlite3.dll而没有sqlite3.lib文件。
3、项目属性 - 配置属性 - 连接器 - 输入 - 模块定义文件,添加sqlite3.def。再编译,报错如下:
1>sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_column_database_name
1>sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_column_database_name16
1>sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_column_origin_name
1>sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_column_origin_name16
1>sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_column_table_name
1>sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_column_table_name16
1>sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_rtree_geometry_callback
1>sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_rtree_query_callback
1>..\Bin\Debug\sqlite3.lib : fatal error LNK1120: 8 个无法解析的外部命令
4、解决方法:项目属性 - 配置属性 - C/C++ - 预处理器 - 预处理器定义,添加SQLITE_ENABLE_COLUMN_METADATA。再编译,报错如下:
1>sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_rtree_geometry_callback
1>sqlite3.def : error LNK2001: 无法解析的外部符号 sqlite3_rtree_query_callback
1>..\Bin\Debug\sqlite3.lib : fatal error LNK1120: 2 个无法解析的外部命令
5、解决方法:项目属性 - 配置属性 - C/C++ - 预处理器 - 预处理器定义,添加SQLITE_ENABLE_RTREE。再次编译,能找到sqlite3.dll和sqlite3.lib文件。