Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
su 3 righe di codice 4 errori!!
Nuovo argomento   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
franco.ab
Dio minore
Dio minore


Registrato: 17/11/08 12:52
Messaggi: 666

MessaggioInviato: 06 Feb 2010 14:00    Oggetto: su 3 righe di codice 4 errori!! Rispondi citando

Salve,sto studiando il C++ e ho installato un vecchio compilatore...volevo provare il primo programma,praticamente volevo semplicemente che mi apparisse ciao.Ho scritto il programma...ma anzicchè ciao mi sono apparse dei messaggi di errore in numero quasi maggiore delle righe del programma...com'è possibile?Vi allego le righe di codice che ho scritto...dove ho sbagliato?

Codice:
# include <iostream>
using namespace std;
main() {
cout << "ciao";
}


Mi da 3 errori e un warning...mi dice più o meno questo:
1)non riesco a includere il file iostream
2)sulla seconda riga dice:errore di sintassi
3)cout non definito
warning:la funzione dovrebbe restituire qualcosa
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 06 Feb 2010 18:58    Oggetto: Rispondi citando

Il problema potrebbe essere che lasci uno spazio tra "#" e "include" e ciò non è permesso.
Da lì tutto va a ramengo.

Nel caso che levi lo spazio e non ottieni miglioramenti vuol dire che,
secondo me, la versione del compilatore che usi è molto vecchia.

Ora, o cambi compilatore oppure riscrivi il tuo programma come nell'esempio qui sotto.
Codice:

#include <iostream.h>

main() {
cout << "ciao";

return 0;
}

Questo dovrebbe andare.

Il warning sul tuo è dato dal fatto che hai main che ritorna in int ma non ha nessuna chiamata a "return". Se vuoi poter scrivere funzioni che non ritornano nulla DEVI dichiararle void. Anche così però potresti ottenere un warning che ti dice che la funzione DOVREBBE ritornare un int perchè è il comportamento standard di c++. Un warning di questo tipo può essere ignorato.

Sarebbe però opportuno usare la sintassi che hai provato tu; quindi per prima cosa prova a ricompilare senza lo spazio che ti ho detto all'inizio.
ciao
Top
Profilo Invia messaggio privato
franco.ab
Dio minore
Dio minore


Registrato: 17/11/08 12:52
Messaggi: 666

MessaggioInviato: 06 Feb 2010 19:48    Oggetto: Rispondi citando

Ciao freemind,ho provato a togliere lo spazio ma non è cambiato niente.Poi ho provato la versione che mi hai dato tu e ha funzionato alla grande...non c'è stato nemmeno bisogno di mettere return 0...ho solo tolto lo spazio e aggiunto .h a iostream e poi ho tolto la seconda riga.
Il compilatore è in effetti vecchio,l'ho avuto da mio zio...dove posso trovare uno più recente?
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 07 Feb 2010 19:44    Oggetto: Rispondi citando

Anche se non è il top, il compilatore della digital mars non è male.
Qui c'è la pagina del sito da cui puoi tirar giù il compilatore.
Citazione:
Digital Mars C and C++ Compilers for Win32, Win16, DOS32 and DOS. Fastest compile/link times, powerful optimization technology, Design by Contract, complete library source, HTML browsable documentation, disassembler, librarian, resource compiler, make, etc., command line and GUI versions, tutorials, sample code, online updates, Standard Template Library, and much more.


Va usato da riga di comando ma non è difficile.
L'unico consiglio che mi vien da darti è di aggiungere nel path la cartella bin che si trova dentro a quella in cui installi il programma.
Top
Profilo Invia messaggio privato
franco.ab
Dio minore
Dio minore


Registrato: 17/11/08 12:52
Messaggi: 666

MessaggioInviato: 08 Feb 2010 16:39    Oggetto: Rispondi citando

Ciao freemind,ho scaricato il compilatore che mi hai detto,ma non ho capito come installarlo...ho decompresso il file e ho visto ovunque alla ricerca di un eseguibile ma non l'ho trovato...o meglio nella directory bin le applicazioni c'erano,le ho provate tutte ma non è successo niente.Come faccio ad installarlo?
ciao
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 09 Feb 2010 22:11    Oggetto: Rispondi citando

In realtà se non ricordo male dmc non va installato, basta decomprimere lo zip da qualche parte e fine.

L'uso è da riga di comando.
Se hai il sorgente da compilare in "c:\sorgenti\test.cpp" per compilare (vado a memoria) dovresti spostarti nella cartella bin di dmc, ad esempio "c:\programmi\dmc\bin" e digitare
Codice:

dmc c:\sorgenti\test.cpp

Sempre a memoria mi pare che il compilatore crei vari files tutti nella directory bin. Tra questi c'è anche out.exe (o forse a.exe? boh?) che è il tuo eseguibile.

Se non erro c'è l'opzione -o (come il compilatore gnu) che serve per stabilire la destinazione quindi:
Codice:

dmc c:\sorgenti\test.cpp -o c:\sorgenti\test.exe

dovrebbe creare l'eseguibile nella stessa dir del sorgente.
Per evitare di partire sempre dalla dir di installazione del compilatore conviene settare nel path il percorso della dir bin.

Non posso fare delle prove per mancanza di windows però penso di non essere troppo lontano dal giusto.
Dmc è un buon compilatore, non mi son mai pentito quando l'ho usato!
Top
Profilo Invia messaggio privato
franco.ab
Dio minore
Dio minore


Registrato: 17/11/08 12:52
Messaggi: 666

MessaggioInviato: 10 Feb 2010 00:33    Oggetto: Rispondi citando

Ciao,ho seguito le tue istruzioni,ma c'è qualcosa che non va,continua a dirmi che non riesce ad aprire iostream...
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 10 Feb 2010 01:53    Oggetto: Rispondi citando

Ma sai che hai ragione!
Prova a vedere un po' qua
Citazione:

Since version 8.29.18 Digital Mars C++ is able to use the STLport library with a minimum of changes. And since version 8.32.9 it is even able to use STLport with namespace support enabled. DMC 8.32.15 finally added explicit template instantiations.

Despite its name, STLport is a full ANSI C++ Standard library. But you can choose to only use the STL part of it in which case you only need to include STLport's header files and don't need to build a library.

Scarica quello che ti dice la pagina e segui le istruzioni che trovi lì.
Poi prova a compilare il tuo lavoro.
Se non dovesse ancora funzionare, prova a seguire il suggerimento sul forum di dmc

Se anche così non va, mi sa che ti consiglio un altro compilatore.
Vuoi mica dire che ho usato dmc sempre e solo come compilatore c???

Mi pare strano...
Top
Profilo Invia messaggio privato
franco.ab
Dio minore
Dio minore


Registrato: 17/11/08 12:52
Messaggi: 666

MessaggioInviato: 10 Feb 2010 18:03    Oggetto: Rispondi citando

Ciao freemind,ho capito...o almeno credo di aver capito come usare il compilatore su ubuntu...ma continua a darmi un sacco errori!Ho messo le solite righe di sorgente e le ho salvate nel file prova.c,poi ho chiamato l'eseguibile ciao.Ho compilato il programma e mi ha dato questi messaggi che ti riporto:

vito@vito-desktop:~$ gcc prova.c -o ciao
prova.c:1:21: error: iostream: No such file or directory
prova.c:2: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘namespace’
prova.c: In function ‘main’:
prova.c:4: error: ‘cout’ undeclared (first use in this function)
prova.c:4: error: (Each undeclared identifier is reported only once
prova.c:4: error: for each function it appears in.)

Inoltre non c'è nessuna traccia dell'eseguibile ciao...non dovrebbe essere nella stessa cartella di prova.c?...o forse non me lo da perchè il programma è pieno di errori?
ciao
Top
Profilo Invia messaggio privato
SverX
Supervisor Macchinisti
Supervisor Macchinisti


Registrato: 25/03/02 12:16
Messaggi: 11806
Residenza: Tokelau

MessaggioInviato: 11 Feb 2010 11:35    Oggetto: Rispondi citando

se la compilazione restituisce degli errori allora non avrai l'eseguibile... comunque gli errori in C vanno sempre guardati 'in ordine', spesso risolvendo il primo si risolvono anche gli altri. Ad esempio questo:

Codice:
prova.c:1:21: error: iostream: No such file or directory


ti informa che non è riuscito a trovare il file che hai tentato di includere, non stupirti se poi non trova gli identificatori che tenti di usare... Rolling Eyes

se non va con

Codice:
#include <iostream.h>


prova con

Codice:
#include "iostream.h"


(non ricordo mai la differenza... una deve essere relativa alla cartella di default del compilatore e l'altra del progetto o cose simili...)
Top
Profilo Invia messaggio privato HomePage
franco.ab
Dio minore
Dio minore


Registrato: 17/11/08 12:52
Messaggi: 666

MessaggioInviato: 11 Feb 2010 13:00    Oggetto: Rispondi citando

Ciao sverx,veramente avevo provato con <iosteam>,ma proverò sia con <iostream.h> che con "iostream" e con "iostream.h"...ti faccio sapere.
ciao
Top
Profilo Invia messaggio privato
franco.ab
Dio minore
Dio minore


Registrato: 17/11/08 12:52
Messaggi: 666

MessaggioInviato: 11 Feb 2010 16:40    Oggetto: Rispondi citando

Ciao,ho provato in ogni modo...non riesce a caricare iostream...che poi è lo stesso problema che ho avuto con il compilatore dmc su windows!Mica sbaglio a posizionarmi...cioè mica il file da compilare deve essere in una particolare cartella?io metto il file sul desktop o in documenti e poi apro il terminale...faccio bene?
ciao
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 13 Feb 2010 19:42    Oggetto: Rispondi citando

Forse ti manca ancora qualche pacchetto anche se il build-essential dovrebbe essere sufficiente.
Per c++ il compilatore è g++
Top
Profilo Invia messaggio privato
franco.ab
Dio minore
Dio minore


Registrato: 17/11/08 12:52
Messaggi: 666

MessaggioInviato: 13 Feb 2010 23:42    Oggetto: Rispondi citando

Si...hai centrato il problema,ho controllato e a me manca proprio il pacchetto build-essential,ecco perchè non riesce a caricare le librerie!Il punto è che build-essential non mi compare nemmeno trai pacchetti installabili...cioè non c'è proprio!Come potrei risolvere il problema?
Ciao
Top
Profilo Invia messaggio privato
anabasi
Amministratore
Amministratore


Registrato: 21/10/05 01:58
Messaggi: 15621
Residenza: Tra Alpi e Tanaro

MessaggioInviato: 14 Feb 2010 00:38    Oggetto: Rispondi citando

Ciao

franco.ab ha scritto:
Il punto è che build-essential non mi compare nemmeno tra i pacchetti installabili...cioè non c'è proprio!

Se ti riferisci a Ubuntu 9.04 (Jaunty), nei repo il pacchetto build-essential c'è.
Top
Profilo Invia messaggio privato
franco.ab
Dio minore
Dio minore


Registrato: 17/11/08 12:52
Messaggi: 666

MessaggioInviato: 14 Feb 2010 13:56    Oggetto: Rispondi citando

Ciao Anabasi,ho provato a cercare build-essential con il pulsante cerca e mi da questo messaggio:

0 pockages listed

Poi ho provato a cercare emacs visto che a me non è installato e dovrei installarlo e mi dice:

6 pockages listed

Quindi non penso che ci sia...
ciao
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 14 Feb 2010 18:29    Oggetto: Rispondi citando

Hai provato a passare per aptitude?
Codice:

sudo aptitude

digiti la tua password.
Poi premi "/" e scrivi build-essential e batti invio.
Top
Profilo Invia messaggio privato
anabasi
Amministratore
Amministratore


Registrato: 21/10/05 01:58
Messaggi: 15621
Residenza: Tra Alpi e Tanaro

MessaggioInviato: 14 Feb 2010 20:23    Oggetto: Rispondi citando

Ciao
franco.ab ha scritto:
Ciao Anabasi,ho provato a cercare build-essential con il pulsante cerca e mi da questo messaggio:
0 pockages listed
[...]
Quindi non penso che ci sia...

Il pacchetto build-essential nei repositories di Ubuntu Jaunty c'è, senza alcun dubbio: nel post precedente ho inserito il link. E' strano che con il gestore grafico di pacchetti (Ubuntu 9.04 ha Synaptic) tu non riesca a individuarlo.
In alternativa, puoi seguire il consiglio di Freemind, oppure provare a utilizzare apt-get da riga di comando:
Codice:

sudo apt-get install build-essential

In questo modo, sarà apt-get a effettuare per te la ricerca nei repo, verificare la necessità di soddisfare dipendenze, e quindi scaricare e installare tutto.
(in pratica, Synaptic è l'interfaccia grafica di apt-get. Nel caso tu abbia commesso qualche errore durante la ricerca con Synaptic, apt-get da linea di comando risolverebbe)
Top
Profilo Invia messaggio privato
franco.ab
Dio minore
Dio minore


Registrato: 17/11/08 12:52
Messaggi: 666

MessaggioInviato: 14 Feb 2010 21:58    Oggetto: Rispondi citando

Ciao,vi allego il messaggio che mi compare:

vito@vito-desktop:~$ sudo apt-get install build-essential
[sudo] password for vito:
Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso
Reading state information... Fatto
Il pacchetto build-essential non ha versioni disponibili, ma è nominato da un altro
pacchetto. Questo significa che il pacchetto manca, è diventato obsoleto
o è disponibile solo all'interno di un'altra sorgente
E: Il pacchetto build-essential non ha candidati da installare
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 14 Feb 2010 22:25    Oggetto: Rispondi

Think , purtroppo allora non ho nessun'altra idea.
Non ho ubuntu per far delle prove.
Comunque è strano, forse nel source.list hai remmato qualche repo.
Dico che è strano perchè quello è uno dei pacchetti fondamentali per poter compilare la quasi totalità del sistema; non capisco perchè non ti trovi nulla.
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Programmazione Tutti i fusi orari sono GMT + 2 ore
Vai a 1, 2  Successivo
Pagina 1 di 2

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi