编译sqlite3.dll时的问题

在vs2005命令行中使用如下命令编译sqlite3.dll
html

  1. cl sqlite3.c /csql

  2. link sqlite3.obj /dll /def:sqlite3.def /implib:sqlite3.libspa

执行第二条命令时,发生错误:
命令行

  1. sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_database_namesqlite

  2. sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_database_name16htm

  3. sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_origin_nameget

  4. sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_origin_name16it

  5. sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_table_name编译

  6. sqlite3.def : error LNK2001: unresolved external symbol sqlite3_column_table_name16table

  7. sqlite3.def : error LNK2001: unresolved external symbol sqlite3_rtree_geometry_callback

  8. sqlite3.def : error LNK2001: unresolved external symbol sqlite3_table_column_metadata

  9. sqlite3.lib : fatal error LNK1120: 8 unresolved externals

http://source.online.free.fr/Windows_HowToCompileSQLite.html找到了相关的资料。

在sqlite3.c中添加两个宏定义

  1. #define SQLITE_ENABLE_RTREE

  2. #define SQLITE_ENABLE_COLUMN_METADATA

保存后,从新执行命令

  1. cl sqlite3.c /c

  2. link sqlite3.obj /dll /def:sqlite3.def /implib:sqlite3.lib

便可编译成功

相关文章
相关标签/搜索