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.