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.

No se puede encontrar -lbgi | codeblocks

Estoy tratando de escribir un programa con el legendario graphics.h.

Tengo un código de prueba. Y descargué todos los archivos necesarios:

  • winbgim.h
  • graphics.h
  • libbgi.a

Luego corregí todos los errores de encabezado. Y traté de compilar con la correcta vinculación.

Y el registro de compilación se ve algo como esto:

g++.exe -c C:\tem\1.cpp -o C:\tem\1.o
g++.exe -o C:\tem\1.exe C:\tem\1.o -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 C:\tem\libbgi.a

Y el error dice: C:/Program-Files-Soft/codeblocks-20.03mingw-nosetup/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: no se puede encontrar -lbgi

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error sugiere que el enlazador no puede encontrar el archivo de biblioteca -lbgi, que es necesario para el programa. Esto puede ocurrir si el archivo de biblioteca no se encuentra en el directorio esperado, o si hay un error tipográfico en el comando de enlace.

    Para solucionar el problema, asegúrese primero de que el archivo de biblioteca libbgi.a esté en el directorio correcto, que en este caso es C:\tem. Si falta el archivo, intente descargarlo nuevamente y colocarlo en el directorio correcto.

    A continuación, verifique nuevamente la ortografía y el uso de mayúsculas y minúsculas en el nombre de la biblioteca en el comando de enlace. Debería ser -lbgi en minúsculas, como se muestra en el registro de compilación.

    Si todo parece correcto, intente agregar la ruta al archivo de biblioteca al comando de enlace utilizando la bandera -L. Por ejemplo, si el archivo de biblioteca se encuentra en el directorio C:\libraries, el comando de enlace sería:

    g++.exe -o C:\tem\1.exe C:\tem\1.o -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 -LC:\libraries

    Esto indicará al enlazador que busque el archivo libbgi.a en el directorio C:\libraries, además de los directorios predeterminados.

    Con estos pasos, el programa debería poder enlazarse con la biblioteca graphics.h y ejecutarse correctamente.

Comments are closed.