Compilar C++

Hola, no consiguo compilar ni el mas sencillo ejemplo en C++.

El error que da es al linkar, ahora no recuerdo ni puedo volver a generarlo. Intentare ponerlo a continuación.

Obviamente he instalado g++ y gcc. (C si que compila sin problemas)

Codigo Ejemplo:
#include <iostream>

int main(int argc, char** argv){
std::cout << "Hola mundo."
return 0;
}

Linea de comando usada para compilación.
$ g++ ejemplo.cc -o ejemplo

Imagen de _SpYkE_
+1
0
-1

el -o no va delante de los nombres?

+1
0
-1
Imagen de Anónimo
+1
0
-1

Que tal.
Viendo algunos correos vi que su problema en Hola Mundo es de un punto y coma antes de la instruccion return. Prueba y compila elejemplo de nuevo y suerte.

cout<<"Hola Mundo."; o bien cout << "Hola Mundo."<<"\n";

Nota: "\n"; = "endl; Significa cambio de linea.

Jo_Jo++

+1
0
-1
Imagen de ator_18
+1
0
-1

Yo tambien anduve liadillo compilando unas cosillas que hice en c++ y tambie me volvi loco compilando.
Prueba un entorno de desarollo que se llama anjuta, a mi me compilo todo sin problemas, incluso puedes compilar proyectos enteros.

No te se decir desde dde se instala, buscalo por el foro y lo encuentras sin problemas. Ya nos contaras

+1
0
-1
Imagen de _SpYkE_
+1
0
-1

ahhh y se me olvidaba, te aconsejo el ANJUTA... esta muy pero k muy buen para desarrollo ;)

+1
0
-1
Imagen de Anónimo
+1
0
-1

$ gcc helo.cc -o salida
/tmp/ccRxDRm0.o: En la función `main':
helo.cc:(.text+0x25): referencia a `std::cout' sin definir
helo.cc:(.text+0x2a): referencia a `std::basic_ostream >& std::operator<< >(std::basic_ostream >&, char const*)' sin definir
/tmp/ccRxDRm0.o: En la función `__tcf_0':
helo.cc:(.text+0x47): referencia a `std::ios_base::Init::~Init()' sin definir
/tmp/ccRxDRm0.o: En la función `__static_initialization_and_destruction_0(int, int)':
helo.cc:(.text+0x74): referencia a `std::ios_base::Init::Init()' sin definir
/tmp/ccRxDRm0.o:(.eh_frame+0x11): referencia a `__gxx_personality_v0' sin definir
collect2: ld devolvió el estado de salida 1
$

El orden de los parametros es indiferente. Aún asi la desesperacion me ha llevado a probarlo.

+1
0
-1
Imagen de benjavalero
+1
0
-1

En fin, es un poco extraño. A mí ese tipo de errores sólo me han aparecido al trabajar con plantillas en C++. Evidentemente, la orden de compilación parece correcta: g++ -o .

Me da que el problema está al tratar de enlazar con la biblioteca estándar. Quizá no esté instalada o haya algún problemilla con esta. Prueba a reinstalar el paquete 'build-essential' (si no lo tienes instalado seguramente será eso).

También podrías probar, si lo anterior no te soluciona nada, a quitar los parámetros de la función 'main', ya que estos no son obligatorios. Mucha suerte.

Benja

+1
0
-1
Imagen de Tormenta
+1
0
-1

Si pones el stdin y el stdout es porque no estas tomando los nombres estandar por defecto y entonces el nombre de tu libreria tiene que tener el .h asi: #include <iostream.h>

Te aconsejo esto:

using namespace std;

#include <iostream>

int main()
{
cout << "hola mundo" << endl;
return 0;
}

Como ves ahora los cout y cin ponlos a pelo sin el stdout:: ni stdin::. Lo que te decia el compilador es que no reconoce ni el stdout ni el stdin ya que la libreria que pusistes no la encuentra, te falta el .h . De todas formas pon al principio del todo lo de using namespace std; y ya pon las librerias sin el .h y sin tener que poner lo del stdout:: y esas cosas, tal como te puse arriba.

Un saludo

+1
0
-1