Pregunta

Así que tengo esta aplicación muy sencilla SDL Quiero ser capaz de pasar a mi amigo sin tenerlo descargar un montón de paquetes SDL.

¿cómo puedo hacerlo? Me dijeron que para usar esta línea para compilar: (Nótese que uso Linux Ubuntu y lo mismo ocurre con mi amigo, y que esta aplicación puede compilar y ejecutar sin las "-Wl, -Bstatic" opciones muy bien.)

    g++ test-sdl.cpp -o test-sdl -Wl,-Bstatic -lSDL_image -lSDL

Pero entonces me sale este error:

    /usr/bin/ld: cannot find -lgcc_s  
    collect2: ld returned 1 exit status

¿por qué estoy consiguiendo este error? ¿Cómo lo arreglo? Por qué me tengo que hacer esto de esta manera? ¿Hay una manera diferente / más fácil / alternativa?

¿Estoy pidiendo tanto por querer salvar a mi amigo la molestia de descargar los paquetes que probablemente nunca utilizar de todos modos?

Gracias.

¿Fue útil?

Solución

A la larga, la mejor opción sería la de encontrar la manera de construir .debs y gestión de paquetes del sistema de su amigo puede hacerse cargo de la instalación de todas las dependencias necesarias. Si desea distribuir los paquetes más ampliamente, el uso de sistema de envasado nativo de la plataforma como se pretende a usted ya sus usuarios ahorrar muchos dolores de cabeza.

Tome un vistazo a la guía de Ubuntu y pbuilder .

En lo personal, he aprendido cómo hacer esto para mis propios proyectos (en Debian) del Martin Krafft Debian libro y encontrar usando yada agiliza considerablemente el proceso.

Otros consejos

Se debe deshacerse de la -B, creo que (esto cambia la ruta de búsqueda, ver el hombre g ++, y por lo tanto usted no puede encontrar sus bibliotecas más).

El interruptor que quería decir es -static, sin el B.

Editar en respuesta a los comentarios: Lo siento, fue incompleta. En su lugar, vuelva a colocar todos "-Wl, -Bstatic" con sólo "-static".

Como escribió codelogic, -static no es una opción para el enlazador (que implica -Wl).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top