спасибо @hatred, проблема из \3 решается при помощи заклинания: g++ main.cpp -Wl,--whole-archive liblib.a -Wl,--no-whole-archive