undefined reference to 'std::cout'

前端 未结 4 1668
囚心锁ツ
囚心锁ツ 2020-11-28 18:03

Shall this be the example:

#include 
using namespace std;
int main()
{
    cout << \"Hola, moondo.\\n\";
}

It throws

相关标签:
4条回答
  • 2020-11-28 18:42

    Makefiles

    If you're working with a makefile and you ended up here like me, then this is probably what you're looking or:

    If you're using a makefile, then you need to change cc as shown below

    my_executable : main.o
        cc -o my_executable main.o
    

    to

    CC = g++
    
    my_executable : main.o
        $(CC) -o my_executable main.o
    
    0 讨论(0)
  • 2020-11-28 18:53

    Assuming code.cpp is the source code, the following will not throw errors:

    make code
    ./code
    

    Here the first command compiles the code and creates an executable with the same name, and the second command runs it. There is no need to specify g++ keyword in this case.

    0 讨论(0)
  • 2020-11-28 18:57

    Compile the program with:

    g++ -Wall -Wextra -Werror -c main.cpp -o main.o
         ^^^^^^^^^^^^^^^^^^^^ <- For listing all warnings when your code is compiled.
    

    as cout is present in the C++ standard library, which would need explicit linking with -lstdc++ when using gcc; g++ links the standard library by default.

    With gcc, (g++ should be preferred over gcc)

    gcc main.cpp -lstdc++ -o main.o
    
    0 讨论(0)
  • 2020-11-28 18:57

    Yes, using g++ command worked for me:

    g++ my_source_code.cpp
    
    0 讨论(0)
提交回复
热议问题