The correct flag should be '-lsqlite3' as the ls syntax is (see $man ld):

-lx This option tells the linker to search for libx.dylib or libx.a in the library search path. If string x is of the form y.o, then that file is searched for in the same places, but without prepending lib' or appending.a' or `.dylib' to the filename.

If you use '-libsqlite3' for the flag you get the "Library not found" linker error.