简体   繁体   中英

What’s the correct way to build the SQLite FTS extension as a DLL?

What's the recommended way to build the SQLite FTS3 extension as a Windows DLL?

I'm having the following problem:

fts3_tokenizer.obj : error LNK2005: sqlite3_api already defined in fts3.obj

The macro SQLITE_EXTENSION_INIT1 is used in both fts3_tokenizer.c and fts3.c . It creates a global variable named sqlite3_api , and since this is done in two places, there are two global variables of the same name. Hence the problem.

Note: Although FTS can be compiled into SQLite, I would like a DLL so I can dynamically load the extension into environments where I have a pre-compiled SQLite that doesn't have full text search.

Main instructions: http://eli.thegreenplace.net/2009/09/23/compiling-sqlite-on-windows/

But use these preprocessor definitions:

SQLITE_ENABLE_COLUMN_METADATA

SQLITE_ENABLE_FTS3

SQLITE_ENABLE_FTS3_PARENTHESIS

SQLITE_ENABLE_RTREE

ignore int / i64 and float/double warnings

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM