0

So I was trying out the Linux C++ compiler and this happened while compiling the following code:

#include <iostream> 
using namespace std;
int main(){
cout<<"Hello World!\n"<<endl;
return 0;
}  



ceibal@ceibal:~$ gcc HelloWorld.cpp
/tmp/cc78Dkhk.o: In function `main':
HelloWorld.cpp:(.text+0xa): undefined reference to `std::cout'
HelloWorld.cpp:(.text+0xf): 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*)'
HelloWorld.cpp:(.text+0x14): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
HelloWorld.cpp:(.text+0x1c): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/cc78Dkhk.o: In function `__static_initialization_and_destruction_0(int, int)':
HelloWorld.cpp:(.text+0x4a): undefined reference to `std::ios_base::Init::Init()'
HelloWorld.cpp:(.text+0x4f): undefined reference to `std::ios_base::Init::~Init()'
collect2: ld devolvió el estado de salida 1
ceibal@ceibal:~$ pico HelloWorld.cpp
ceibal@ceibal:~$ gcc HelloWorld.cpp
HelloWorld.cpp:3:1: error: expected ‘;’ before ‘int’
ceibal@ceibal:~$ pico HelloWorld.cpp
ceibal@ceibal:~$ gcc HelloWorld.cpp
/tmp/ccIivRal.o: In function `main':
HelloWorld.cpp:(.text+0xa): undefined reference to `std::cout'
HelloWorld.cpp:(.text+0xf): 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*)'
HelloWorld.cpp:(.text+0x14): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
HelloWorld.cpp:(.text+0x1c): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/ccIivRal.o: In function `__static_initialization_and_destruction_0(int, int)':
HelloWorld.cpp:(.text+0x4a): undefined reference to `std::ios_base::Init::Init()'
HelloWorld.cpp:(.text+0x4f): undefined reference to `std::ios_base::Init::~Init()'
collect2: ld devolvió el estado de salida 1

I tried with the same program but on C and it worked perfectly, but as soon as I translated it to c++ this occurred.

0

1 Answer 1

2
$ gcc HelloWorld.cpp

This invokes C compiler but your code is in C++. Use g++ to invoke C++ compiler.

$ g++ HelloWorld.cpp
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.