user@localhost /home/user/work $ gcc test.cpp /tmp/cc1Lys9r.o: In function `__static_initialization_and_destruction_0(int, int)': test.cpp:(.text+0x23): undefined reference to `std::ios_base::Init::Init()' /tmp/cc1Lys9r.o: In function `__tcf_0': test.cpp:(.text+0x66): undefined reference to `std::ios_base::Init::~Init()' /tmp/cc1Lys9r.o: In function `main': test.cpp:(.text+0x7b): undefined reference to `operator new(unsigned long)' test.cpp:(.text+0x94): undefined reference to `operator new(unsigned long)' /tmp/cc1Lys9r.o: In function `mammal::speak() const': test.cpp:(.text._ZNK6mammal5speakEv[mammal::speak() const]+0x12): undefined reference to `std::cout' test.cpp:(.text._ZNK6mammal5speakEv[mammal::speak() const]+0x17): undefined reference to `std::basic_ostream >& std::operator<< >(std::basic_ostream >&, char const*)' /tmp/cc1Lys9r.o: In function `dog::speak() const': test.cpp:(.text._ZNK3dog5speakEv[dog::speak() const]+0x12): undefined reference to `std::cout' test.cpp:(.text._ZNK3dog5speakEv[dog::speak() const]+0x17): undefined reference to `std::basic_ostream >& std::operator<< >(std::basic_ostream >&, char const*)' /tmp/cc1Lys9r.o:(.rodata._ZTI6mammal[typeinfo for mammal]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info' /tmp/cc1Lys9r.o:(.rodata._ZTI3dog[typeinfo for dog]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info' /tmp/cc1Lys9r.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status