Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

478
Vistas
Compilando SFML en Linux (ubuntu)

Al compilar una aplicación SFML,

  • Primero necesito crear el archivo cpp con el código SFML y guardar el archivo
  • Luego escriba el comando: g++ -c main.cpp para compilar y crear el archivo objeto.
  • Finalmente, para crear la aplicación SFML, necesito escribir el comando:
    g++ main.o -o sfml-app -lsfml-graphics -lsfml-window -lsfml-system

Pude compilar y ejecutar con éxito mi primera aplicación, pero ¿no podemos acortar este proceso? Quiero decir, ¿tengo que escribir esto cada vez que compilo y hago una aplicación?

También tengo esta pregunta sobre la compilación de archivos C++ en general. Cada vez que tengo que escribir g++ filename.cpp -o filename . ¿Cómo puedo acortar este proceso? Gracias.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Es muy común usar un Makefile en Linux . El Makefile es más simple si nombra su archivo fuente principal de la misma manera que desea que se llame su programa terminado.

Entonces, si cambia el nombre de su archivo main.cpp a sfml-app.cpp y luego crea un archivo llamado Makefile y copia este texto en él:

 # optional flags (if the compiler supports it) CXXFLAGS += -std=c++11 # HIGHLY RECOMMENDED flags CXXFLAGS += -Wall -Wextra -pedantic-errors # required for SFML programs LDLIBS := $(shell pkg-config sfml-all --libs) # The rest will turn any source file ending in .cpp # into a program of the same name SOURCES := $(wildcard *.cpp) PROGRAMS := $(patsubst %.cpp,%,$(SOURCES)) all: $(PROGRAMS) clean: $(RM) $(PROGRAMS)

Escriba: make para compilar los programas y make clean para eliminarlos.

Nota: La sangría del comando $(RM) $(PROGRAMS) debe ser un TAB , no espacios.

Si desea compilar otro programa en el mismo directorio, simplemente cree otro archivo fuente en el directorio another-app.cpp y make lo convertirá automáticamente en un programa.

Este Makefile convertirá cualquier archivo fuente (que termine en .cpp) en un programa del mismo nombre.

Nota: cuando desee crear programas más grandes con varios archivos, necesitará un Makefile diferente. Si te tomas en serio la programación, entonces deberías aprender make .

Aquí puedes aprender todo sobre make .

over 4 years ago · Santiago Trujillo Denunciar

0

Puede escribir un script .sh que ejecute los comandos:

 g++ -c main.cpp g++ main.o -o sfml-app -lsfml-graphics -lsfml-window -lsfml-system
over 4 years ago · Santiago Trujillo Denunciar

0

Una solución es utilizar la herramienta de automatización de compilación. Existen muchas herramientas diferentes, cada una con puntos fuertes y débiles.

Personalmente, para proyectos pequeños, uso Make. Escribes en un archivo, llamado Makefile, reglas que describen la relación entre archivos y cómo realizar cada paso. Por ejemplo, el Makefile mínimo para su proyecto será:

 sfml-app: main.o g++ main.o -o sfml-app -lsfml-graphics -lsfml-window -lsfml-system main.o: main.c g++ -c main.cpp

Este archivo se encuentra en la raíz del proyecto. Solo tiene que ingresar el comando "hacer" para iniciar la compilación. Si lo desea, encontrará mucha documentación en Internet. consulte https://en.wikipedia.org/wiki/Make_%28software%29 Lo animo a leer sobre el archivo MAKE para usarlo correctamente y poder usar su poder.

Además, alguien puede recomendarle que use otra herramienta de automatización de compilación: ¡es una elección personal! Encontrará una lista de herramientas existentes aquí (no exhaustiva): https://en.wikipedia.org/wiki/List_of_build_automation_software

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda