I don't understand what you mean about unresolved symbols being reported only at run time. If I refer to some variable which isn't in the shared library being linked against then the linker will complain. (I just tested it to make sure.)