在vs2005命令行中使用如下命令编译sqlite3.dll
html
cl sqlite3.c /csql
link sqlite3.obj /dll /def:sqlite3.def /implib:sqlite3.libspa
执行第二条命令时,发生错误:
命令行
sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_database_namesqlite
sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_database_name16htm
sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_origin_nameget
sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_origin_name16it
sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_table_name编译
sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_table_name16table
sqlite3.def : error LNK2001: unresolved external symbol sqlite3_rtree_geometry_callback
sqlite3.def : error LNK2001: unresolved external symbol sqlite3_table_column_metadata
sqlite3.lib : fatal error LNK1120: 8 unresolved externals
在http://source.online.free.fr/Windows_HowToCompileSQLite.html找到了相关的资料。
在sqlite3.c中添加两个宏定义
#define SQLITE_ENABLE_RTREE
#define SQLITE_ENABLE_COLUMN_METADATA
保存后,从新执行命令
cl sqlite3.c /c
link sqlite3.obj /dll /def:sqlite3.def /implib:sqlite3.lib
便可编译成功