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
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 esC:\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 directorioC:\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 directorioC:\libraries
, además de los directorios predeterminados.Con estos pasos, el programa debería poder enlazarse con la biblioteca
graphics.h
y ejecutarse correctamente.