> clang++ -arch arm64 -arch x86_64 -o sqlite_build sqlite3.c Use `clang` instead of `clang++`. sqlite3 is C and not all C constructs are legal in C++. Related: all of the `extern "C"` blocks in sqlite3.c seem to be no-ops: ``` #if 0 extern "C" { #endif ``` That's a strange (and seemingly useless?) way to do that. The more common convention is: ``` #ifdef __cplusplus extern "C" { #endif ```