Come faccio a compilare i miei programmi C++ in Cygwin. Ho installato gcc. Quale comando dovrei usare? Inoltre, come posso eseguire la mia applicazione console quando si trova in un'estensione .cpp. Sto cercando di imparare C++ con alcuni piccoli programmi, ma in Visual C++, non voglio creare un progetto separato per ogni piccolo file .cpp.Compile C++ con Cygwin
risposta
È necessario utilizzare un comando come:
g++ -o prog prog.cpp
Questo è un semplice modulo che trasformerà un progetto unico file C++ in un file eseguibile. Se si dispone di più file C++, si può fare:
g++ -o prog prog.cpp part2.cpp part3.cpp
ma alla fine, ti consigliamo di introdurre makefiles per una maggiore comodità in modo da avere solo per compilare i bit che sono stati modificati. Poi ci si ritroverà con un Makefile
come:
prog: prog.o part2.o part3.o
g++ -o prog prog.o part2.o part3.o
prog.o: prog.cpp
g++ -c -o prog.o prog.cpp
part2.o: part2.cpp
g++ -c -o part2.o part2.cpp
part3.o: part3.cpp
g++ -c -o part3.o part3.cpp
E poi, potrai iniziare a capire come scrivere i makefile per renderli più flessibili (come ad esempio, non necessitano di una regola separata per ogni file C++), ma può essere lasciato per un'altra domanda.
Per quanto riguarda l'esistenza di un progetto separato per ogni file C++, non è affatto necessario. Se li hai in una directory e c'è una semplice mappatura dei C++ file per file eseguibili, è possibile utilizzare il seguente makefile:
SRCS=$(wildcard *.cpp)
EXES=$(SRCS:.cpp=.exe)
all: $(EXES)
%.exe: %.cpp
g++ -o [email protected] $^
quindi eseguire il comando make
e sarà (intelligentemente) creare tutti i tuoi eseguibili. [email protected]
è l'obiettivo e $^
è l'elenco di prerequisiti.
E, se si dispone di regole più complicate, basta attaccarle verso il basso nella parte inferiore. Norme specifiche saranno scelti di preferenza alle regole del modello:
SRCS=$(wildcard *.cpp)
EXES=$(SRCS:.cpp=.exe)
all: $(EXES)
%.exe: %.cpp
g++ -o [email protected] $^
xx.exe: xx.cpp xx2.cpp xx3.cpp
g++ -o [email protected] $^
echo Made with special rule.
Avrete bisogno di g ++. Quindi prova g++ file.cpp -o file.exe
come inizio. Più tardi puoi evitare di digitare molto imparando a conoscere i Makefile.
se si desidera usare Cygwin è necessario utilizzare il normale gcc
sintassi
g++ -o foobar foobar.cpp
ma che in realtà non giocano bene con Visual C++ . Ti consiglio di dare un'occhiata a Eclipse CDT se preferisci usare GCC sul compilatore Visual C++.
Quello che faccio a compilare un programma cpp:
g++ -Wall Test.cpp -o Test
-Wall enables warning and error messages to be shown
-o Test creates an Test.exe after compilation
Se vuoi compilare file separatamente:
g++ -Wall -c File1.cpp
g++ -Wall -c File2.cpp
Ora creare un file eseguibile con i file oggetto combinate come:
g++ -Wall File1.o File2.o -o File.exe
In questo modo è possibile compilare i file di intestazione ed è possibile includere nei programmi dell'applicazione.
- 1. Compile stand alone con Cygwin
- 2. C - Compile con dipendenze incluse
- 3. Compile std :: regex_iterator con gcc
- 4. C++ non installato in Cygwin
- 5. C++ compile std: esempio di thread con scons
- 6. Perlbrew funziona con cygwin?
- 7. Perché compile errore con enable_if
- 8. CYGWIN = nodosfilewarning non aiuta Cygwin avvertimento
- 9. Impossibile eseguire cmake con cygwin
- 10. redirezione dell'input gdb con Cygwin
- 11. Validazione modulo e campi aggiunti con $ compile
- 12. Definizione degli alias in Cygwin con Windows
- 13. AngularJS: manuale $ compile contro natural $ compile su una direttiva ricorsiva
- 14. Esecuzione di gemme Ruby con Cygwin
- 15. Compiled compile with bitbake
- 16. MinGW compile per MS DOS
- 17. installazione cygwin
- 18. Croce Compile helloworld per ARM
- 19. Compile latex da python
- 20. Makefile su Cygwin
- 21. .bashrc in Cygwin 1.7
- 22. C++ Compile-Time offsetof all'interno di un modello
- 23. Cygwin gitk issue
- 24. VTK/Python/compile
- 25. MSBuild TypeScript Compile Targets
- 26. maven compile groovy
- 27. unique_ptr compile error
- 28. OpenCL compile su linux
- 29. Heroku login toolbelt con Cygwin appeso
- 30. Come usare MinGW-w64 con Cygwin?
Grazie. Ma posso creare un singolo makefile che compila qualsiasi file C++ nella stessa directory invece di creare un makefile per ogni specifico file .cpp? –
Qual è l'estensione? .rendere? O nessuna estensione come myMakefile –
@Mohit, quei makefile compilano qualsiasi file cpp nel suo exe equivalente (il jolly e il pattern '%' vedono quello). Per convenzione, il file make si chiama Makefile o makefile. Puoi usare un nome diverso come bob.mk, ma devi fare "make -f bob.mk all" invece di "make all". – paxdiablo