world visual studio hello example c++ c++11 gcc cout

visual - hello world c++



referencia indefinida a ''std:: cout'' (3)

¿Será este el ejemplo?

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

Lanza el error:

gcc -c main.cpp gcc -o edit main.o main.o: In function `main'': main.cpp:(.text+0xa): undefined reference to `std::cout'' main.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*)'' main.o: In function `__static_initialization_and_destruction_0(int,int)'': main.cpp:(.text+0x3d): undefined reference to `std::ios_base::Init::Init()'' main.cpp:(.text+0x4c): undefined reference to `std::ios_base::Init::~Init()'' collect2: error: ld returned 1 exit status make: *** [qs] Error 1

Además, este ejemplo:

#include <iostream> int main() { std::cout<<"Hola, moondo./n"; }

arroja el error:

gcc -c main.cpp gcc -o edit main.o main.o: In function `main'': main.cpp:(.text+0xa): undefined reference to `std::cout'' main.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*)'' main.o: In function `__static_initialization_and_destruction_0(int,int)'': main.cpp:(.text+0x3d): undefined reference to `std::ios_base::Init::Init()'' main.cpp:(.text+0x4c): undefined reference to `std::ios_base::Init::~Init()'' collect2: error: ld returned 1 exit status make: *** [qs] Error 1

Nota: Estoy usando Debian Wheezy.


Makefiles

Si está trabajando con un archivo MAKE y terminó aquí como yo, entonces esto es probablemente lo que está buscando o:

Si está utilizando un archivo MAKE, entonces necesita cambiar cc como se muestra a continuación

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

a

CC = g++ my_executable : main.o $(CC) -o my_executable main.o


Compila el programa con:

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

como cout está presente en la biblioteca estándar de C ++, que necesitaría un enlace explícito con -lstdc++ cuando se usa gcc ; g++ vincula la biblioteca estándar por defecto.

Con gcc , ( g++ debería preferirse sobre gcc )

gcc main.cpp -lstdc++ -o main.o


Sí, usar el comando g++ funcionó para mí:

g++ my_source_code.cpp