You didn't tell the compiler the location of the .h files that are to be used during the compile. The spellfix.c file references `#include "sqlite3ext.h"` which in turn `#include <sqlite3.h>`, and the version of sqlite3.h that is being used belongs to some older version of sqlite3 that does not define the pre-processor symbol SQLITE_VTAB_INNOCUOUS. The 3.11.1 code is old enough that it does not require that the header files you are using define the symbol SQLITE_VTAB_INNOCUOUS because that security feature was implemented after that version.