Autor
|
Tema: Error de instalación de la biblioteca SFML en Code::Blocks (Leído 4,705 veces)
|
MuyTR
Desconectado
Mensajes: 5
|
Hola, soy nuevo aquí, tengo un error a la hora de instalar la biblioteca SFML, he seguido unos pasos que anterioremente me funcionaron, antes de formatear mi PC. http://www.edparrish.net/common/sfmlcb.html#troubleshootSin embargo ahora a la hora de compilar la aplicación me sale este error ||=== Build: Debug in HELLO2 (compiler: GNU GCC Compiler) ===| ld.exe||cannot find -lsfml-graphics-d| ld.exe||cannot find -lsfml-window-d| ld.exe||cannot find -lsfml-system-d| ld.exe||cannot find -lsfml-graphics| ld.exe||cannot find -lsfml-window| ld.exe||cannot find -lsfml-system| ld.exe||cannot find -lsfml-audio| ||error: ld returned 1 exit status| ||=== Build failed: 8 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===| Agradecería su ayuda.
|
|
« Última modificación: 1 Marzo 2022, 16:26 pm por MuyTR »
|
En línea
|
|
|
|
|
.xAk.
Desconectado
Mensajes: 397
F0r3v3R NeWbI3
|
Si se ha instalado, estarán en algún lado en tu arbol de directorios, tienes que verlas, comprueba tus directorios y los que has indicado en code::blocks
|
|
|
En línea
|
|
|
|
MuyTR
Desconectado
Mensajes: 5
|
Si se ha instalado, estarán en algún lado en tu arbol de directorios, tienes que verlas, comprueba tus directorios y los que has indicado en code::blocks
Hola, gracias, lo intente bastante, formatee la PC y todo, pero sigo teniendo ese error, si están, en mi biblioteca, libsfml-graphics-d.a, libsfml-system-d.a, etc, necesito ayuda , logre instalarlo en Visual Studio pero me ha salido otro de esos errores raros que no consiguen solucion.
|
|
|
En línea
|
|
|
|
MuyTR
Desconectado
Mensajes: 5
|
Gracias por la ayuda, lo he intentado bastante, aprendí un par de cosas tan bien, lamentablemente el error sigue ahí, en el post que me mandaste si no mal recuerdo, al final no habia una solicion como tal, se fueron a hacerlo directamente con el comando g++, me gustaria hacerlo así, pero también necesito ayuda para eso, sobre todo en la etapa de enlazar.
|
|
|
En línea
|
|
|
|
.xAk.
Desconectado
Mensajes: 397
F0r3v3R NeWbI3
|
directamente con el comando g++, me gustaria hacerlo así, pero también necesito ayuda para eso, sobre todo en la etapa de enlazar. Tienes que saber dónde están las librerías en tu disco duro e indicarlo. Igual que harías con otra librería. (Supongamos que están en C:\SFML-2.1) Con -I (i mayúscula) le indicas dónde están los archivos de cabecera (.h) con -L dónde están las librerias para el enlazado y con -l le indicas que las utilice para enlazar. Se puede hacer paso a paso, por ejemplo primero crear los archivos objetos (compilar) // Dinamico g++ -c main.cpp -IC:\SFML-2.1\include // Estatico g++ -c main.cpp -IC:\SFML-2.1\include -DSFML_STATIC
Ahora tocará enlazar con las librerias SFML, por lo que le indicaremos dónde están y que debe enlazar que puede ser -lsfml-graphics, -lsfml-window y -lsfml-system. Por dependencias te puedes ver obligado a enlazar también con opengl32, winmm, y gdi32// Dinamico g++ main.o -o main -LC:\SFML-2.1\lib -lsfml-graphics -lsfml-window -lsfml-system -lopengl32 -lwinmm -lgdi32 // Estatico g++ main.o -o main -LC:\SFML-2.1\lib -lsfml-graphics-s -lsfml-window-s -lsfml-system-s -lopengl32 -lwinmm -lgdi32
En este tema, viejete, se habla de ello y del enlazado estático. Aunque sea un tema viejo, es intemporal. [Aporte] Compilar SFML EstaticamenteSaludOS== edit ==La i mayúscula y la l minúsculas las veo igual aquí (-I -l)
|
|
« Última modificación: 31 Marzo 2022, 09:43 am por .xAk. »
|
En línea
|
|
|
|
MuyTR
Desconectado
Mensajes: 5
|
Tienes que saber dónde están las librerías en tu disco duro e indicarlo. Igual que harías con otra librería. (Supongamos que están en C:\SFML-2.1) Con -I (i mayúscula) le indicas dónde están los archivos de cabecera (.h) con -L dónde están las librerias para el enlazado y con -l le indicas que las utilice para enlazar. Se puede hacer paso a paso, por ejemplo primero crear los archivos objetos (compilar) // Dinamico g++ -c main.cpp -IC:\SFML-2.1\include // Estatico g++ -c main.cpp -IC:\SFML-2.1\include -DSFML_STATIC
Ahora tocará enlazar con las librerias SFML, por lo que le indicaremos dónde están y que debe enlazar que puede ser -lsfml-graphics, -lsfml-window y -lsfml-system. Por dependencias te puedes ver obligado a enlazar también con opengl32, winmm, y gdi32// Dinamico g++ main.o -o main -LC:\SFML-2.1\lib -lsfml-graphics -lsfml-window -lsfml-system -lopengl32 -lwinmm -lgdi32 // Estatico g++ main.o -o main -LC:\SFML-2.1\lib -lsfml-graphics-s -lsfml-window-s -lsfml-system-s -lopengl32 -lwinmm -lgdi32
En este tema, viejete, se habla de ello y del enlazado estático. Aunque sea un tema viejo, es intemporal. [Aporte] Compilar SFML EstaticamenteSaludOS== edit ==La i mayúscula y la l minúsculas las veo igual aquí (-I -l) Gracias , justo viendo que ni me funcionaba en Visual ni en CodeBlocks pensaba compilarlo por g++ directamente, pero no encontre mucha informacion util de como hacerlo, ahora ya se como hacerlo por si encuentro problemas con los IDE. Lo bueno es que hice esta pregunta en otro foro angloparlante y me respondieron pidiendo que les muestre el rebuild log, así que preparandome para mostrarselo me salio que el linker botaba el error "skipping compability" (algo asi) asi que pense que seria un problema de compatibilidad, probe instalar un compilador mas correcto y una version de sfml mas correcta y me funciono en CodeBlocks, aunque en Visual me sale otro error no relacionado con el linker, , aun asi gracias por el apoyo jeje. Asi que es un problema de compatibilidad entre el compilador y la biblioteca Ahora he tratado de hacer lo que me dijiste pero me sale el mismo error en el CMD de Windows, "skipping compability" justamente porque tengo el compilador incorrecto y no se pasarlo para que use el otro, el incompatible es el TDM quiero cambiarlo al MinGW, si saben hacerlo me ayudan por favor.
|
|
|
En línea
|
|
|
|
.xAk.
Desconectado
Mensajes: 397
F0r3v3R NeWbI3
|
Si utilizas code::blocks mingw viene incorporado. En todas las instalaciones, se crea un arbol de directorios, que es bueno te relaciones con ellos para saber dónde están instaladas las librerías por defecto y dónde puedes poner las que instales. Puedes añadir MYSYS2 es una terminal unix para windows, tiene un gestor de paquetes y puedes elegir las que quieres instalar y él mismo te las pone en su lugar. Familiar para usuarios de Arch Linux Por ejemplo, instalar, iniciar la consola y actualizar la base de datos de los paquetes $ pacman -SyuuLuego puedes instalar las herramientas de programación el compilador y las librerías que quieres $ pacman -S --needed base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-gcc mingw-w64-x86_64-sfmlpuedes buscar lo que quieras instalar por ejemplo $ pacman -Ss allegroEl arbol de directorios es estandar y puedes elegir dónde instalar las cosas, es decir puedes hacer que la raiz de msys2 coincida con el arbol de directorios de code::blocks y trabajar más fácilmente con las librerías. puedes instalarte un editor desde este entorno y trabajará en el mismo árbol de directorios dónde la raiz es / las unidades /C/ /D/ ... por ejemplo geany$ pacman -S --needed mingw-w64-i686-geany mingw-w64-x86_64-geany-plugins $ geanySaludOS
|
|
« Última modificación: 3 Abril 2022, 22:26 pm por .xAk. »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con error Code::Blocks y Windows 8.1
Programación C/C++
|
gibranini
|
2
|
2,664
|
22 Noviembre 2014, 12:20 pm
por leosansan
|
|
|
Instalación de SDL en Code::Blocks
Programación C/C++
|
DeMoNcRaZy
|
4
|
3,934
|
20 Junio 2015, 23:17 pm
por DeMoNcRaZy
|
|
|
Configurar SFML en Code::Blocks Linux
GNU/Linux
|
DeMoNcRaZy
|
0
|
1,902
|
30 Junio 2015, 22:35 pm
por DeMoNcRaZy
|
|
|
[C++][?]Code::blocks + wxformbuilder "generate code error"
Programación C/C++
|
vitoafk
|
0
|
1,969
|
2 Octubre 2015, 04:06 am
por vitoafk
|
|
|
Error consola Code:Blocks
Programación C/C++
|
txeremias
|
2
|
5,376
|
21 Noviembre 2015, 16:14 pm
por txeremias
|
|