Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: R3tr0 en 19 Marzo 2011, 20:19 pm



Título: Problema compilación con Gcc
Publicado por: R3tr0 en 19 Marzo 2011, 20:19 pm
Esta mañana practicando con los videotutoriales de paueky y su cuso de C++ he hecho un programa como el explica que cuando tu le pones el año en el que naciste te devuelve un texto diciente que edad tienes , lo he hecho en Windows con Code::Blocks pero ahora estoy probando a compilarlo con OpenSuse 11.4 y gcc y me sale esto en la terminal al intentarlo:

Código:
años.cpp:(.text+0x15): undefined reference to `std::cout'
años.cpp:(.text+0x1a): 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*)'
años.cpp:(.text+0x22): 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> >&)'
años.cpp:(.text+0x2a): 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> >&))'
años.cpp:(.text+0x39): undefined reference to `std::cin'
años.cpp:(.text+0x3e): undefined reference to `std::basic_istream<char, std::char_traits<char> >::operator>>(int&)'
años.cpp:(.text+0x5a): undefined reference to `std::cout'
años.cpp:(.text+0x5f): 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*)'
años.cpp:(.text+0x6b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(int)'
años.cpp:(.text+0x7b): 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*)'
años.cpp:(.text+0x83): 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> >&)'
años.cpp:(.text+0x8b): 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/ccfMw7eG.o: In function `__static_initialization_and_destruction_0(int, int)':
años.cpp:(.text+0xb9): undefined reference to `std::ios_base::Init::Init()'
años.cpp:(.text+0xbe): undefined reference to `std::ios_base::Init::~Init()'
collect2: ld returned 1 exit status

No sé por qué me da este error si el mismo archivo en Windows lo he compilado y probado perfectamente :S
El código en cuestión es este:

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5.    cout << "Anyo de Nacimiento? " << endl;
  6.    int anyo;
  7.    cin >> anyo;
  8.    cout << "Tienes " << 2011 - anyo << "Anyos" << endl;
  9.            }

Salu2


Título: Re: Problema compilación con Gcc
Publicado por: oxydec en 20 Marzo 2011, 05:17 am
Prueba a compilarlo con g++ en vez de gcc


Título: Re: Problema compilación con Gcc
Publicado por: Akai en 20 Marzo 2011, 12:28 pm
Para compilar C++, has de llamar a g++ en vez de gcc, tal como te han dicho. Los argumentos y demás que le puedes pasar, son los mismos.


Título: Re: Problema compilación con Gcc
Publicado por: R3tr0 en 20 Marzo 2011, 13:13 pm
Muchas grácias a los dos , he compilado con g++ y todo perfecto :D