Your first step should be to test if the extension is really activated. So run a test with only the preprocessor, something like: gcc -E sqlite3.c -DSQLITE_ENABLE_JSON1 >sqlite3.txt and check the output for the JSON1 functionality. If the JSON1 functions are not recognised, are there any specific error messages or codes?