I will add an examlpe later...
Despite so far I always followed the external library approach both in windows and linuxes, I am also interested in the topic of static linking, so I look forward for this post, as it will be very useful knowledge.
In a nutshell:
{$LinkLib LIBNAME} --> you need the LIBNAME.
a file
{$Link LIBNAME} --> you need the LIBNAME.
o file
In any case, your Declarations are as follows:
Function SomeFunction(SomeArguments):SomeReturnType;call_convention;external; --> NO LIBNAME!!
call_convention whatever the lib is compiled with. On Windows usually stdcall, in case of sqlite3 though it's cdecl