Newsgroup: it.comp.os.linux.iniziare
Titolo: Compilare in C++

Salve a tutti,
sono un novizio quasi totale di linux.Mi sono avvicinato a questo OS per studio.Fino ad
ora ho compilato sorgenti C sotto unix e,a casa mia, su una mini-distribuzione linux
(Mulinux, solo riga di comando e niente X) che fino ad ora soddisfaceva le mie
necessità.Da qualche giorno ho deciso di installare la mandrake 9.0 e devo dire che sono
rimasto veramente soddisfatto della scelta,ma mi sto dannando proprio sull'aspetto
principale (che poi era la ragione per cui ho deciso di installare una distribuzione più
corposa): il compilatore C++
Non riesco a configurarlo in modo che compili il C++! Ho dato una lettura alla
manualistica (richiamando il man gcc) e non mi pare che servano particolari opzioni per
compilare il
C++.Ho avuto premura di installare tutti i pacchetti relativi al gcc (anche quelli per
compilare il Fortran!),ma il risultato non cambia.Ho provato cambiando l' estensione del
file sorgente(un file di test),che per la cronaca è questo:
#include<iostream>
main()
{
cout<<"prova"<<endl;
return 0;
}
Ho provato sia con .cc che con .c++ o .cpp.Ho lanciato il compilatore in modalità C++
usando l'opzione '-x c++' ma nulla cambia.Anche lanciandolo con il comando g++ (invece di
gcc) non ci sono cambiamenti (con g++,stando al manuale, vengono automaticamente settate
le opzioni per il C++).
Il compilatore trova la libreria (perchè altrimenti mi direbbe che non ha trovato
iostream.h) ma poi mi ripete che cout e endl sono funzioni non specificate...
Riscrivendo il codice di sopra sostituendo ad iostream la libreria stdio.h e mettendo la
printf al posto della cout tutto funziona (cioè in C compila).Ho controllato la directory
'include' e le librerie del C++ ci sono.
Che cosa sto sbagliando?
Grazie a tutti anticipatamente per qualunque consiglio possiate darmi
--
Hawk

 Che cosa sto sbagliando?
Ho due idee in mente, intanto prova come ti ho teste` suggerito :)
-- 
Ikitt

principale (che poi era la ragione per cui ho deciso di installare una distribuzione più
[cut]
Stesso problema tuo, io ho risolto installando il gcc2 presente nei cd
della mandrake e disinstallando il 3...tutto funziona.
Bloodvomit
--------------------
Tape Trading: 
http://www.geocities.com/altarofblood

 della mandrake e disinstallando il 3...tutto funziona.
Mi sembra una soluzione un po' di ripiego (se il gcc2 compila perchè non dovrebbe farlo
anche il 3?).
Prima di ricorreci voglio vedere se riesco a venirne a capo (non mi piace ammettere
sconfitta :o)  )
Cmq grazie per il consiglio
--
Hawk
Suguni mata!

 Ho due idee in mente, intanto prova come ti ho teste` suggerito :)
Sono ancora agli inizi con il C++ ma credo di aver capito che in questo modo cout e endl
vengono caricati come metodi della classe std
Ho provato ad inserire,invece,subito sotto l'include la riga:
using namespace std;
E in questo modo compila!Anche se continua ad avere un comportamento strano (non mi lascia
definire la main void,ad esempio...)
Ora devo trovare il modo di settare il namespace a monte,in modo da evitare di dover
inserire questa riga in tutti i miei sorgenti
Suggerimenti? ^__^
--
Hawk

 definire la main void,ad esempio...)
E' normale, non e' un problema del compilatore.
-- 
*    Matteo Gottardi | 
mat...@tin.it
    *
*            ICQ UIN 20381372            *
* Linux - the choice of a GNU generation *
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com
 - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----

 Suggerimenti? ^__^
chiedi su it.comp.lang.c++ che ne sanno di piu` di certi 
(sarebbe strano il contrario!)
-- 
Ikitt