sqlite-3.6.10的vs2005 编译错误

时间:2022-10-18 22:58:41

编译器输出的错误是:
错误278 error LNK2005: _sqlite3_api 已经在 fts3.obj 中定义 fts3_tokenizer.obj

错误279 error LNK2005: _sqlite3_extension_init 已经在 fts3.obj 中定义 rtree.obj

错误 280 error LNK2005: _sqlite3_api 已经在 fts3.obj 中定义 rtree.obj

错误 281 fatal error LNK1169: 找到一个或多个多重定义的符号E:\sqlite\Debug\sqlite.dll

预处理器定义 加上以下两项:
SQLITE_ENABLE_FTS3
SQLITE_ENABLE_RTREE

SQLITE_EXTENSION_INIT1的问题.SQLITE_EXTENSION_INIT1在多个文件当中重复使用.在fts3_tokenizer.c和fts3.c文件的的这个宏使用的地方用extern const sqlite3_api_routines *sqlite3_api;代替即可.