PDA

View Full Version : [C++] Compilazione


flamethrow
10-02-2011, 23:49
salve,mi sono da poco avvicinato al c++ per motivi di studio,ma purtroppo l'università da molte cose per scontato anche se per altri possono sembrare banali.ad esempio la compilazione.finchè si è trattato di singoli file .cpp comprensivi di main tutto ok,il semplice g++ nome_file.cpp risolveva tutto ora mi trovo a dover compilare 3 file tra cui il file .h e 2 .cpp comprendenti dichiarazione classi,definizione metodi e main.fin ora mi sono arrangiato a compilare separatamente prima il file .h e poi successivamente i file .cpp isieme in quanto mettendoli tutti e tre insieme in g++ file.h file1.cpp file2.cppil file header non mi viene compilato.qualcuno può gentilmente chiarirmi un po' le idee?inoltre inserendo nella linea di comando "-o nomefile.exe" compila il tutto nel file col nome che ho scelto io,ma la segnatura -c cosa vuol dire?

attualmente uso minGW come compilatore su windows 7,se qualcuno pensa che ce ne siano di migliori mi consigli pure.grazie dell'attenzione e ciao!

Torav
11-02-2011, 00:43
Allora, facciamo ordine.
Gli header non si compilano: si includono nei file .cpp con le direttive #include
Il -c dice al compilatore di compilare il file .cpp che gli passi e creare un file oggetto (.o) che poi dovrà essere, eventualmente, linkato ad altri file per creare l'eseguibile. Ad esempio il comando

gcc -o prova.exe main.cpp lib.cpp

è equivalente a:

gcc -c main.cpp
gcc -c lib.cpp
gcc -o prova.exe main.o lib.o

I primi due comandi *compilano* i file mentre il terzo linka insieme i file nell'eseguibile.