singleton.o contains definitions of functions declared in a header file, and singleton_main.o was generated from the code I posted above
I'd really appreciate any help
Edit:
Seems like the problem lied in compilation of object files. They also had to have the -g option enabled, like
g++ -g -c -o singleton_main.o singleton_main.cpp