I've tried to add few more SQLITE_OMIT_ defines to my project in order
to reduce unused code.
These were found problematic (using latest sqlite snapshot within C++
project in Visual Studio 2013):
1. using the SQLITE_OMIT_ATTACH flag in my project causes error:
VS2013 error: function sqlite3Attach declared but not defined
Probable solution is protect the function declaration too with #ifdef
SQLITE_OMIT_ATTACH
2. SQLITE_OMIT_VIRTUALTABLE causes error:
static function 'void sqlite3VtabArgInit(Parse *)' declared but not defined
Probable solution is to protect the sqlite3VtabArgInit declaration too
with #ifdef SQLITE_OMIT_VIRTUALTABLE
3. SQLITE_OMIT_VIEW causes error:
error C2129: static function 'void sqlite3CreateView(Parse *,Token
*,Token *,Token *,ExprList *,Select *,int,int)' declared but not defined
Probable solution: similar to previous cases.
4. SQLITE_OMIT_ANALYZE causes error:
error C2129: static function 'void sqlite3Analyze(Parse *,Token *,Token
*)' declared but not defined
Probable solution: similar to previous cases.
5. SQLITE_OMIT_TRIGGER causes warnings, then linker errors:
- sqlite3.c(88510): warning C4101: 'auth' : unreferenced local variable
sqlite3.c(99370): warning C4101: 'xAuth' : unreferenced local
variable
sqlite3.c(132889): warning C4013: 'sqlite3DeleteTriggerStep'
undefined; assuming extern returning int
sqlite3.c(134473): warning C4013: 'sqlite3FinishTrigger'
undefined; assuming extern returning int
sqlite3.c(134478): warning C4013: 'sqlite3BeginTrigger'
undefined; assuming extern returning int
sqlite3.c(134545): warning C4013: 'sqlite3TriggerUpdateStep'
undefined; assuming extern returning int
sqlite3.c(134545): warning C4047: '=' : 'TriggerStep *' differs
in levels of indirection from 'int'
sqlite3.c(134548): warning C4013: 'sqlite3TriggerInsertStep'
undefined; assuming extern returning int
sqlite3.c(134548): warning C4047: '=' : 'TriggerStep *' differs
in levels of indirection from 'int'
sqlite3.c(134551): warning C4013: 'sqlite3TriggerDeleteStep'
undefined; assuming extern returning int
sqlite3.c(134551): warning C4047: '=' : 'TriggerStep *' differs
in levels of indirection from 'int'
sqlite3.c(134554): warning C4013: 'sqlite3TriggerSelectStep'
undefined; assuming extern returning int
sqlite3.c(134554): warning C4047: '=' : 'TriggerStep *' differs
in levels of indirection from 'int'
sqlite3.c(134582): warning C4013: 'sqlite3DropTrigger'
undefined; assuming extern returning int
sqlite3.c(102503): warning C4700: uninitialized local variable
'bComplex' used
then link
error LNK2019: unresolved external symbol
_sqlite3DeleteTriggerStep referenced in function _yy_destructor
error LNK2019: unresolved external symbol _sqlite3FinishTrigger
referenced in function _yy_reduce
error LNK2019: unresolved external symbol _sqlite3BeginTrigger
referenced in function _yy_reduce
error LNK2019: unresolved external symbol
_sqlite3TriggerUpdateStep referenced in function _yy_reduce
error LNK2019: unresolved external symbol
_sqlite3TriggerInsertStep referenced in function _yy_reduce
error LNK2019: unresolved external symbol
_sqlite3TriggerDeleteStep referenced in function _yy_reduce
error LNK2019: unresolved external symbol
_sqlite3TriggerSelectStep referenced in function _yy_reduce
error LNK2019: unresolved external symbol _sqlite3DropTrigger
referenced in function _yy_reduce
fatal error LNK1120: 8 unresolved externals
This is more complex, probably needs more thinking (not sure if a bunch
of "#ifdef" calls would fix this).
Many other OMIT flags I am already using work OK.
Regards,
Miroslav
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users