I fixed my OPTS in the Makefile so that they are in sync
with my compilation options.
Now all the unresolved references in the parser have dis-
appeared, but I'm still left with two unresolved references
to the function sqlite3MaterializeView():
delete.obj : error LNK2019: unresolved external symbol _sqlite3MaterializeView
referenced in function _sqlite3DeleteFrom
update.obj : error LNK2019: unresolved external symbol _sqlite3MaterializeView
referenced in function _sqlite3Update
The function sqlite3MaterializeView() is defined in the
file delete.c, as follows:
------------------------------------------------------------------------
#if !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_TRIGGER)
/*
** Evaluate a view and store its result in an ephemeral table. The
** pWhere argument is an optional WHERE clause that restricts the
** set of rows in the view that are to be added to the ephemeral table.
*/
void sqlite3MaterializeView(
...
){
...
}
#endif /* !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_TRIGGER) */
------------------------------------------------------------------------
In my application, I've defined SQLITE_OMIT_VIEW, but *not*
SQLITE_OMIT_TRIGGER; that is, I want TRIGGERs, but not VIEWs.
It would seem that in the conditional compilation expression
shown above, the && should be replaced by ||:
#if !defined(SQLITE_OMIT_VIEW) || !defined(SQLITE_OMIT_TRIGGER)
In other words, if VIEW *or* TRIGGER is supported, then define
the function sqlite3MaterializeView().
Making that change fixes the problem.
- Richard
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users