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

Reply via email to