Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: amchacon en 10 Junio 2013, 16:58 pm



Título: ¿Como compilar una librería?
Publicado por: amchacon en 10 Junio 2013, 16:58 pm
¿En Mingw?

Quiero decir, yo ahora me descargo el código de una librería:
http://www.libsdl.org/projects/SDL_mixer/

Para instalarla, en linux sería:

Citar
./configure
make
sudo make install

¿Cual es su equivalente en windows?


Título: Re: ¿Como compilar una librería?
Publicado por: pacoperico en 10 Junio 2013, 17:26 pm
http://lazyfoo.net/SDL_tutorials/lesson01/windows/index.php (http://lazyfoo.net/SDL_tutorials/lesson01/windows/index.php)

http://www.losersjuegos.com.ar/referencia/articulos/instalar_devcpp (http://www.losersjuegos.com.ar/referencia/articulos/instalar_devcpp)


Título: Re: ¿Como compilar una librería?
Publicado por: amchacon en 10 Junio 2013, 17:31 pm
Ahí no sale nada sobre compilar la librería  :silbar:


Título: Re: ¿Como compilar una librería?
Publicado por: pacoperico en 10 Junio 2013, 17:34 pm
La libreria no se compila sino que en windows se instala. Una vez que la tengas instalada podras usar sus funciones en tus proyectos.


Título: Re: ¿Como compilar una librería?
Publicado por: amchacon en 10 Junio 2013, 17:46 pm
La libreria no se compila sino que en windows se instala. Una vez que la tengas instalada podras usar sus funciones en tus proyectos.
Pues intenta instalar la librería de ese link, no trae los binarios asi que tienes que compilar sí o sí.


Título: Re: ¿Como compilar una librería?
Publicado por: pacoperico en 10 Junio 2013, 18:20 pm
La libreria sdl_mixer no es mas que un conjunto de archivos *.dll *.h  y *.lib,  como cualquier otra libreria que te puedas encontrar como por ejemplo la libreria estandar, no hay ningun tipo de fichero ejecutable ni binario ni nada parecido.

Para poder usar cualquier libreria en tus programas solo has de colocar esos archivos en las carpetas adecuadas del compilador que tengas, y una vez que lo tengas hecho para poder utilizarla solo has de incluir en tu codigo una directiva include que en tu caso seria algo asi:
Código
  1. #include <SDL/SDL_mixer.h>
Y a empezar a usar las funciones que te proporcionan esa libreria.

Te copio y actualizo la info que hay en los enlaces que te he puesto.

Para instalar sdl_mixer en dev-c++:

Descargas http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.12-win32.zip (http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.12-win32.zip) y lo descomprimes. Colocas esos archivos, o bien en la carpeta system32 de windows, o en la misma carpeta donde se vaya alojar tu futuro ejecutable.

Descargas http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-devel-1.2.12-VC.zip (http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-devel-1.2.12-VC.zip) y lo descomprimes. El archivo "include/SDL_mixer.h" lo colocas en “c:\dev-cpp\include\SDL\” (es importante copiar el archivo dentro de la carpeta SDL). Y el archivo “sdl_mixer.lib” de la carpeta “lib” se debe copiar a “c:\dev-cpp\lib”

Y por ultimo para poder usar la libreria hay que enlazarla en el linker que para ello en dev-c++ seria. “Herramientas → Opciones de Compilador” (“Tools → Compiler Options”) y agregamos las opciones dentro del campo indicado luego de “Añadir estos comandos a la línea de comandos del linker” (“Add these commands to the linker…”):

 -lSDL_mixer



Cuando hayas hecho todo esto ya podras usar usar la libreria sdl_mixer en tus futuros programas de la misma forma en que utilizas la libreria estandar, es decir a traves de una directiva include que en tu caso seria #include <SDL/SDL_mixer.h>.


Título: Re: ¿Como compilar una librería?
Publicado por: amchacon en 10 Junio 2013, 22:43 pm
Descargas http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-devel-1.2.12-VC.zip (http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-devel-1.2.12-VC.zip) y lo descomprimes. El archivo "include/SDL_mixer.h" lo colocas en “c:\dev-cpp\include\SDL\” (es importante copiar el archivo dentro de la carpeta SDL). Y el archivo “sdl_mixer.lib” de la carpeta “lib” se debe copiar a “c:\dev-cpp\lib”
¡Anda! No había visto ese link  :silbar:

Muchísimas gracias, estaba ya un poco mosca T_T

La libreria sdl_mixer no es mas que un conjunto de archivos *.dll *.h  y *.lib,  como cualquier otra libreria que te puedas encontrar como por ejemplo la libreria estandar, no hay ningun tipo de fichero ejecutable ni binario ni nada parecido.
No he dicho ejecutable sino "binario", se le llama binario a los objetos compilados. Una librería compilada sería un binario (es más, por lo que veo has sacado el link de "binaries"  ;-)).

Y ojo, el hecho de que suban versiones source es para que te las puedas compilar por ti mismo. En linux se hace mucho para evitar conflictos (por ejemplo, con versiones distintas del compilador). Lo que me gustaría saber es como activar el script desde Windows, ya por curiosidad  :silbar:


Título: Re: ¿Como compilar una librería?
Publicado por: pacoperico en 11 Junio 2013, 00:23 am
En la pagina de descargas de sdl_mixer solo hay dos tipos de descargas, el codigo fuente y los archivos binarios. Descargandote los binarios te encuentras con archivos dll que evidentemente son archivos ejecutables y con archivos lib que son archivos compilados, la libreria sdl_mixer se compone de estos archivos y por lo tanto es una libreria que te viene ya compilada.

He estado mirando el archivo source del sdl_mixer, dentro de el en la carpeta visualc te viene un archivo solucion para visual studio. He intentado compilarlo pero me da errores posiblemente porque esa solucion esta hecha con VS2008 y yo el que tengo es el VS2010.