编译sqlite3.dll时的问题

允我心安 提交于 2019-12-05 11:46:14

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

  1. cl sqlite3.c /c

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

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

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

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

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

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

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

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

  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

即可编译成功


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!