在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
便可編譯成功