在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
即可编译成功
来源:oschina
链接:https://my.oschina.net/u/1867627/blog/630294