es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo se incluyen/enlazan bibliotecas a un archivo ejecutable en Eclipse C++?

Estoy intentando distribuir un archivo ejecutable de un proyecto de c++ que hice en eclipse. El problema es que utiliza las bibliotecas SDL2 y SDL2 Image, las cuales funcionan bien en mi computadora porque ya están descargadas, pero cuando intento ejecutarlo en otra computadora, obtengo un mensaje de error que dice:

dyld[16619]: Biblioteca no cargada: /opt/local/lib/libSDL2-2.0.0.dylib
Referenciado desde: /Users/garrettmurray/Downloads/Morph Bunny-2/Morph Bunny
Razón: intentado: '/opt/local/lib/libSDL2-2.0.0.dylib' (archivo no encontrado), '/usr/local/lib/libSDL2-2.0.0.dylib' (archivo no encontrado), '/usr/lib/libSDL2-2.0.0.dylib' (archivo no encontrado)
zsh: abort /Users/garrettmurray/Downloads/Morph\ Bunny-2/Morph\ Bunny

¿Hay alguna manera de incluirlos en el ejecutable, o también deben ser descargados y, de ser así, cómo se enlazan con el ejecutable?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para distribuir un archivo ejecutable que utiliza las bibliotecas SDL2 y SDL2 Image, necesitará incluir estas bibliotecas con su archivo ejecutable. Una manera de hacer esto es vincular estáticamente las bibliotecas en su archivo ejecutable para que estén incluidas y no necesiten descargarse por separado.

    Para vincular estáticamente las bibliotecas SDL2 y SDL2 Image, deberá descargar las versiones estáticas de estas bibliotecas y luego vincularlas a su archivo ejecutable en Eclipse. Puede hacer esto yendo a las propiedades del proyecto, seleccionando la pestaña “C/C++ Build” y luego seleccionando la subpestaña “Settings”. Desde allí, puede ir a la pestaña “Tool Settings” y luego a la subpestaña “GCC C++ Linker”. En la sección “Libraries”, puede agregar los archivos de biblioteca estáticos para SDL2 y SDL2 Image a la lista de bibliotecas a vincular, utilizando la opción “-l”.

    Alternativamente, puede distribuir las bibliotecas dinámicas junto con su archivo ejecutable, y luego utilizar la variable de entorno “LD_LIBRARY_PATH” para indicar al sistema operativo dónde encontrar las bibliotecas. Para hacer esto, deberá copiar los archivos de biblioteca dinámica SDL2 y SDL2 Image en el mismo directorio que su archivo ejecutable, y luego establecer la variable de entorno “LD_LIBRARY_PATH” en la ruta de ese directorio antes de ejecutar su archivo ejecutable.

Comments are closed.