¿Cómo compilo mis programas en C++ en Cygwin. Tengo gcc instalado. ¿Qué comando debería usar? Además, ¿cómo puedo ejecutar mi aplicación de consola cuando está en una extensión .cpp? Estoy tratando de aprender C++ con algunos pequeños programas, pero en Visual C++, no quiero tener que crear un proyecto separado para cada pequeño archivo .cpp.Compilar C++ con Cygwin
Respuesta
Es necesario utilizar un comando como:
g++ -o prog prog.cpp
Esa es una forma sencilla que dará vuelta a un proyecto de un archivo C++ en un archivo ejecutable. Si tiene varios archivos de C++, puede hacerlo:
g++ -o prog prog.cpp part2.cpp part3.cpp
pero con el tiempo, usted querrá introducir archivos make para mayor comodidad para que usted sólo tiene que compilar los bits que han cambiado. Entonces usted va a terminar con un Makefile
como:
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
Y continuación, comenzará a averiguar cómo escribir sus archivos make para hacerlos más flexibles (como no tener una regla independiente para cada archivo C++), pero eso puede dejarse para otra pregunta.
En cuanto a tener un proyecto separado para cada archivo C++, eso no es necesario en absoluto. Si todos ellos tiene en un directorio y no hay una correspondencia sencilla de C++ a archivos ejecutables, puede utilizar el siguiente archivo MAKE:
SRCS=$(wildcard *.cpp)
EXES=$(SRCS:.cpp=.exe)
all: $(EXES)
%.exe: %.cpp
g++ -o [email protected] $^
A continuación, ejecute el comando make
y va (inteligente) crear todos sus ejecutables. [email protected]
es el objetivo y $^
es la lista de requisitos previos.
Y, si tiene reglas más complicadas, simplemente vuélvalas hacia abajo en la parte inferior. Normas específicas serán elegidos con preferencia a las reglas de patrón:
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.
Necesitarás g ++. Luego pruebe g++ file.cpp -o file.exe
como un comienzo. Más tarde puede evitar escribir mucho aprendiendo sobre Makefiles.
Si desea utilizar Cygwin se debe utilizar el gcc
sintaxis normal de
g++ -o foobar foobar.cpp
pero que en realidad no juegan bien con Visual C++ . Le aconsejo que eche un vistazo a Eclipse CDT si prefiere usar GCC sobre el compilador visual de C++.
Lo que hago para compilar un programa de CPP:
g++ -Wall Test.cpp -o Test
-Wall enables warning and error messages to be shown
-o Test creates an Test.exe after compilation
Si desea compilar archivos por separado:
g++ -Wall -c File1.cpp
g++ -Wall -c File2.cpp
A continuación, cree un ejecutable con los archivos de objetos combinados como:
g++ -Wall File1.o File2.o -o File.exe
De esta forma puede compilar sus archivos de encabezado y puede incluirlos en sus programas de aplicación.
- 1. Cuándo usar Cygwin o MinGW para compilar el código C?
- 2. ¿Puede compilar estáticamente una aplicación cygwin?
- 3. Usando Cygwin para compilar un programa en C; Error de ejecución
- 4. Acceso VirtualBox VM con cygwin
- 5. ¿Funciona perlbrew con cygwin?
- 6. C++ no instalado En Cygwin
- 7. Cómo usar MinGW-w64 con Cygwin?
- 8. No se puede compilar C++ con gcc
- 9. Compilar rubí con su API C
- 10. C++ unordered_map compilar problema con g ++
- 11. cygwin + console2: ejecutando cygwin bash con el directorio de inicio
- 12. ¿Cómo navegar a un directorio en C: \ con Cygwin?
- 13. Compile independiente exe con Cygwin
- 14. compilar OpenCV en C++
- 15. ¿Cómo lidiar con Eclipse CDT + Cygwin?
- 16. CYGWIN = nodosfilewarning no ayuda cygwin advertencia
- 17. Compilar con cython y mingw produce gcc: error: opción de línea de comando no reconocida '-mno-cygwin'
- 18. Usando bash (cygwin) dentro del programa C#
- 19. Ctrl-c dejó de funcionar en cygwin
- 20. ¿Cómo puedo asociar archivos .sh con Cygwin?
- 21. con el Notepad ++ para git dentro cygwin
- 22. HBase 0.92 Standalone en Windows con Cygwin
- 23. redhat cygwin vs cygwin? cualquier difrencia?
- 24. Ocaml + LLVM bajo cygwin (o, de manera más general, vinculando estáticamente con archivos de objeto C bajo cygwin)?
- 25. g ++ con python.h, cómo compilar
- 26. Compilar simple hello world Ejemplo ZeroMQ C, compilar indicadores?
- 27. Compilar C# en el objetivo-C
- 28. C++: Cómo compilar Strings/char *
- 29. Dos problemas con sbt en cygwin/vista
- 30. salida coloreado con Cygwin comandos en cmd
Gracias. Pero, ¿puedo crear un único archivo MAKE que compile cualquier archivo C++ en el mismo directorio en lugar de crear un MAKE para cada archivo .cpp específico? –
¿Cuál es la extensión? .¿hacer? O sin extensión como myMakefile –
@Mohit, esos archivos make compilan cualquier archivo cpp en su equivalente equivalente (el comodín y el patrón '%' se encargan de eso). Por convención, el archivo make se llama Makefile o makefile. Puedes usar un nombre diferente como bob.mk pero luego tienes que hacer 'make -f bob.mk all' en lugar de solo 'make all'. – paxdiablo