简体   繁体   中英

When trying to code in C++ I get a long string of errors like “/tmp/ccloHU4h.o:dad.cpp:(.text+0x5c): undefined reference to `std::cout'”

The full error is

/tmp/ccloHU4h.o:dad.cpp:(.text+0x28): undefined reference to `___gxx_personality      _sj0'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x5c): undefined reference to `std::cout'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x68): undefined reference to `std::basic_ostream      <char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::      basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x70): undefined reference to `std::basic_ostream      <char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::b      asic_ostream<char, std::char_traits<char> >&)'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x78): undefined reference to `std::basic_ostream      <char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_t      raits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x86): undefined reference to `std::cin'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x8b): undefined reference to `std::basic_istream      <char, std::char_traits<char> >::operator>>(int&)'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x9a): undefined reference to `std::cout'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x9f): undefined reference to `std::basic_ostream      <char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::      basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccloHU4h.o:dad.cpp:(.text+0xa7): undefined reference to `std::basic_ostream      <char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::b      asic_ostream<char, std::char_traits<char> >&)'
/tmp/ccloHU4h.o:dad.cpp:(.text+0xaf): undefined reference to `std::basic_ostream      <char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_t      raits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/ccloHU4h.o:dad.cpp:(.text+0xba): undefined reference to `std::__cxx11::basi      c_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()'
/tmp/ccloHU4h.o:dad.cpp:(.text+0xc8): undefined reference to `std::cin'
/tmp/ccloHU4h.o:dad.cpp:(.text+0xd4): undefined reference to `std::basic_istream      <char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, s      td::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::_      _cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/tmp/ccloHU4h.o:dad.cpp:(.text+0xe2): undefined reference to `std::cout'
/tmp/ccloHU4h.o:dad.cpp:(.text+0xe7): undefined reference to `std::basic_ostream      <char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>,       std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std::      __cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const      &)'
/tmp/ccloHU4h.o:dad.cpp:(.text+0xf7): undefined reference to `std::basic_ostream      <char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::      basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x108): undefined reference to `std::basic_ostrea      m<char, std::char_traits<char> >& std::operator<< <char, std::char_traits<char>,       std::allocator<char> >(std::basic_ostream<char, std::char_traits<char> >&, std:      :__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > cons      t&)'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x118): undefined reference to `std::basic_ostrea      m<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std:      :basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x120): undefined reference to `std::basic_ostrea      m<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::      basic_ostream<char, std::char_traits<char> >&)'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x128): undefined reference to `std::basic_ostrea      m<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_      traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x13a): undefined reference to `std::__cxx11::bas      ic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x156): undefined reference to `std::__cxx11::bas      ic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x19f): undefined reference to `std::ios_base::In      it::Init()'
/tmp/ccloHU4h.o:dad.cpp:(.text+0x1b6): undefined reference to `std::ios_base::In      it::~Init()'
collect2: error: ld returned 1 exit status

This happens when using gcc and typing gcc "file name" -o "file name without .cpp" I had

#include <iostream>
#include <string>
using namespace std;

included in the code.

also I am very new to coding, so if its a simple problem, please don't think it's a joke. I actually need help.

You need to link with g++ , not gcc . The gcc compiler driver will compile C++ sources, but it will link them only with the C standard library, so a lot of C++-only functionality will not work.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM