在 vs2005 命令行中使用以下命令编译 sqlite3.dll
-
cl sqlite3.c /c
-
link sqlite3.obj /dll /def:sqlite3.def /implib:sqlite3.lib
执行第二条命令时,发生错误:
-
sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_database_name
-
sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_database_name16
-
sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_origin_name
-
sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_origin_name16
-
sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_table_name
-
sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_table_name16
-
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
即可编译成功