PDA

Visualizza la versione completa : [C++] Gcc non funziona più???


ombra
11-12-2005, 13:49
Ciao a tutti
Ho provato a fare un semplicissimo programma in C++
Ecco il codice:


#include <iostream.h>
int main(void) {
int num = 0;
cout << "PROVA";
cin >> num;
}


Ho provato a compilarlo facendo gcc prova.cpp
Ecco il risultato:


damiano@damiano:~$ gcc prova.cpp
In file included from /usr/include/c++/3.3/backward/iostream.h:31,
from prova.cpp:1:
/usr/include/c++/3.3/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider usingone of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
prova.cpp:6:2: warning: no newline at end of file
/tmp/ccDr5qn9.o(.text+0x22): In function `main':
: undefined reference to `std::cout'
/tmp/ccDr5qn9.o(.text+0x27): In function `main':
: 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*)'
/tmp/ccDr5qn9.o(.text+0x35): In function `main':
: undefined reference to `std::cin'
/tmp/ccDr5qn9.o(.text+0x3a): In function `main':
: undefined reference to `std::basic_istream<char, std::char_traits<char> >::operator>>(int&)'
/tmp/ccDr5qn9.o(.text+0x63): In function `__static_initialization_and_destruction_0(int, int)':
: undefined reference to `std::ios_base::Init::Init[in-charge]()'
/tmp/ccDr5qn9.o(.text+0x94): In function `__tcf_0':
: undefined reference to `std::ios_base::Init::~Init [in-charge]()'
/tmp/ccDr5qn9.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
damiano@damiano:~$

Manca qualcosa da installare????
Ho Debian Sarge
Grazie :ciauz:

toraz
11-12-2005, 14:14
Modifica il codice così...



#include <iostream>

int main(void)
{
int num = 0;
std::cout << "PROVA";
std::cin >> num;
}


e compilalo con



# g++ prova.cpp


dovrebbe funzionare un po' meglio. :)

ombra
11-12-2005, 14:25
ora mi da:




damiano:/home/damiano# g++ prova.cpp
prova.cpp:8:2: warning: no newline at end of file




Ma questo codice su altri SO non funzionerà mai??
Perchè std::cout e std::cin ?
grazie
:ciauz:

ombra
11-12-2005, 14:42
si può fare anche in questo modo:


using namespace std;

L'ho letto nella guida su cplusplus.com
Quindi è una cosa che si fa :fagiano: non è perchè manca qualcosa sul mio pc...giusto?
Grazie :ciauz:

Loading