Como compilar DRC en windows...

Imprescindibles si queremos que las creaciones HUM tengan calidad y sentido.
Responder
Avatar de Usuario
wynton
Admin
Mensajes: 3065
Registrado: Vie 26 Nov 2004 , 9:05
Ubicación: Madrid

Como compilar DRC en windows...

Mensaje por wynton »

... y hacer que parezca que compilamos en un linux. O mejor dicho, como compilar DRC con GCC, que es el compilador GNU por excelencia.

Bueno, ya se que este, dentro de los temas menores en los que me estoy especializando, es ridículamente menor. Pero supongo que aquí, en la sala menor es donde menos molestará. Digo molestará por lo que viene a continuación.

Lo mejor para compilar DRC en un windows es instalarse mingw:

http://www.mingw.org/

mingw ofrece un entorno de programación compatible con el software GNU pero dentro de Windows.

De toda la lista de paquetes a instalar:

http://www.mingw.org/download.shtml

yo tengo instalados Minimal System 1.0.10 (MSYS 1.0.10) y MSYS Developer Tool Kit 1.0.1.

http://prdownloads.sf.net/mingw/MSYS-1. ... e?download
http://prdownloads.sf.net/mingw/msysDTK ... e?download

MSYS crea un acceso directo a una consola de trabajo. Y si, efectivamente, en modo consola es como vamos a trabajar.

desde esta shell podemos escribir:

gcc -v

y nos dirá:

Reading specs from C:/MinGW/bin/../lib/gcc-lib/mingw32/3.2.3/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c++,f77,objc --disable-win32-registry --disable-shared --enable-sjlj-exceptions
Thread model: win32
gcc version 3.2.3 (mingw special 20030504-1)

Ahí está nuestro compilador gnu preparado.

Tambien tenemos make:

make -v

GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for i686-pc-msys
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Report bugs to <bug-make@gnu.org>.

¿donde están nuestros discos con nuestro preciado windows? Pues C: está en /c . O D: está en /d.

Si escribimos ls /c obtenemos un listado del contenido de C:. Ojo con los nombres de directorio o archivos con espacios dentro. Hay que encerrar entre comillas (") todo el path (la ruta al archivo desde el punto en el que estamos) para poder trabajar con el.

Otros comandos útiles: cd para cambiar de directorio, vi para editar (ejejejejee), less para leer un fichero.

Seguimos...
Avatar de Usuario
Luismax
Site Admin
Site Admin
Mensajes: 7081
Registrado: Lun 03 Nov 2003 , 18:44
Ubicación: MatrixHell
Contactar:

Re: Como compilar DRC en windows...

Mensaje por Luismax »

wynton escribió: Otros comandos útiles: ...
cd/ rm-r *.*

:mrgreen:
“No es señal de buena salud estar bien adaptado a una sociedad profundamente enferma”
RR
Mensajes: 370
Registrado: Jue 25 Nov 2004 , 21:55

Mensaje por RR »

Arghhhh! Ni se os ocurra hacer eso (qué malvado...).

Gracias wyn, voy a intentar compilarlo con proceso a 64 bits (el precompilado va a 32).
R :|
No tengo nada que decir sobre este asunto. Pero nada.
Avatar de Usuario
wynton
Admin
Mensajes: 3065
Registrado: Vie 26 Nov 2004 , 9:05
Ubicación: Madrid

Mensaje por wynton »

He reinstalado todo de nuevo para preparar la guia de instalación, porque con los dos paquetes anteriormente citados no basta y porque hay que seguir un orden y una serie de normas para instalar el sistema MinGW con el compilador gcc/g++ incluido.

El primer programa a descargarse es:

http://prdownloads.sf.net/mingw/MinGW-5 ... e?download

Este programa es un instalador de otros paquetes de forma automática.
Veamos el progreso del proceso de instalación:

1- Pantalla de bienvenida. => Next

Imagen

2- Elegimos un mirror desde el cual descargarnos los paquetes requeridos.
Yo he optado por uno localizado en Suiza. => Next

Imagen

3- Elegimos la versión de los paquetes a instalar. Yo he optado por "Current". => Next

Imagen

4- Marcamos los paquetes deseados: yo he marcado MinGW base tools, g++ compiler, g77 compiler y MinGW make. => Next

Imagen

5- Elegimos la carpeta de destino. Conviene dejar la opción por defecto. En C:/MinGW es donde podremos encontrar la instalación de MinGW (binarios, librerias, archivos de configuración) => Next

Imagen

6- Dejamos que nos prepare un acceso en el Start Menu. => Next.

Imagen

7- Le dejamos descargándose el software e instalándolo.

Imagen

8- Nos informa del proceso de desempaquetado e instalación. => Next

Imagen

9- That's All Folks!!!

Imagen

Y a partir de aquí hay que pasar a instalar MSYS. Lo vemos a continuación.
Última edición por wynton el Mié 31 May 2006 , 11:47, editado 1 vez en total.
Avatar de Usuario
wynton
Admin
Mensajes: 3065
Registrado: Vie 26 Nov 2004 , 9:05
Ubicación: Madrid

Mensaje por wynton »

Instalación de MSYS:

http://prdownloads.sf.net/mingw/MSYS-1. ... e?download

1- Nos pregunta si queremos seguir. => Yes.

Imagen

2- Que si seguimos.... que si.... => Yes.

Imagen

3- ¿Aceptamos la licencia? => Yes.

Imagen

4- Mas avisos => Next.

Imagen

5- Nos pide que elijamos donde instalarlo. Os recomiendo la elección por defecto. => Next

Imagen

6- Menu de selección de componentes. Solo hay una opción. => Next

Imagen

7- Pantalla de elección de icono en el Start Menu. => Next

Imagen

8- Nos informa de nuestra elección antes de instalar. => Install

Imagen

9- Nos muestra la evolución del proceso de instalación. Tras ello pasa a la preparación de las variables de entorno necesarias.

Imagen

10- Nos pregunta en una nueva pantalla si queremos proseguir con el proceso de post-instalación. => y

Imagen

11- Nos pregunta si tenemos instalado MinGW. Como es cierto si hemos seguido la etapa del posta anterior. => y

Imagen

12- Nos pregunta que le digamos al instalador donde está instalado MinGW. Si lo hemos instalado en el directorio por defecto. => C:/MinGW

Imagen

13- Nos informa de como ha ido el proceso de detección de programas instalados en MinGW. => Pulsar un tecla.

Imagen

14- Proceso terminado. => Finish

Imagen

A partir de aquí si abrimos el icono MSYS del escritorio aparece una consola como esta:

Imagen

Queda la instalación de msysDTK. Lo vemos a continuación.
Última edición por wynton el Mié 31 May 2006 , 11:47, editado 1 vez en total.
Avatar de Usuario
wynton
Admin
Mensajes: 3065
Registrado: Vie 26 Nov 2004 , 9:05
Ubicación: Madrid

Mensaje por wynton »

Instalación de msysDTK:

http://prdownloads.sf.net/mingw/msysDTK ... e?download

Voy a mostrar la única pantalla relevante del proceso. Las demás son como en MSYS (Yes, Yes, Install, Install, tal y cual...)

Imagen

Hay que indicar como carpeta de instalación la misma que elegimos para MSYS en el proceso anterior.
Avatar de Usuario
wynton
Admin
Mensajes: 3065
Registrado: Vie 26 Nov 2004 , 9:05
Ubicación: Madrid

Mensaje por wynton »

Desde la consola de MSYS hay una utilidad muy práctica para ahorrar tecleo. Dándole una o dos veces seguidas al tabulador (en seguida vereis la diferencia), MSYS te autocompleta (o lo intenta) lo que queremos escribir.

Vayamos ahora a la compilación de DRC, que es lo que queríamos hacer.

El fichero Makefile que viene de serie con DRC no funciona bien con MinGW porque hay código C y C++ mezclado y hay que seleccionar el compilador correcto (gcc o g++). Yo tengo esta chapucilla:

****** Makefile *****************************************

# DRC base makefile

C_PLUS=g++
CC=gcc

# Warning check pedantic settings
# CFLAGS=-Wall -pedantic -I.

# Standard optimization settings
CFLAGS=-O3 -I.

# i686 optimizaztions settings
# CFLAGS=-O3 -mtune=i686 -ffast-math -msse -I.

# i686 optimizaztions settings with SSE support
# -mfpmath=sse often causes accuracy problems
# CFLAGS=-O3 -mtune=i686 -ffast-math -msse -mfpmath=sse -I.

DRCSRCPP=baselib.cpp drc.cpp fft.cpp hd.cpp slprefilt.cpp spline.cpp bwprefilt.cpp convol.cpp dspwind.cpp drccfg.cpp fir.cpp level.cpp toeplitz.cpp cmdline.o parsecfg.o kirkebyfd.cpp fftsg.o gsl/gsl_fft.o gsl/error.o gsl/stream.o

DRCSRC= cmdline.c parsecfg.c fftsg.c gsl/gsl_fft.c gsl/error.c gsl/stream.c

GLSWEEPSRC=glsweep.c

LSCONVSRC=lsconv.c fftsg_h.c

ALL: drc glsweep lsconv

drc: $(DRCSRCPP)
$(C_PLUS) $(CFLAGS) -lm -lstdc++ -o drc $(DRCSRCPP)

glsweep: $(GLSWEEPSRC)
$(CC) $(CFLAGS) -lm -o glsweep $(GLSWEEPSRC)

lsconv: $(LSCONVSRC)
$(CC) $(CFLAGS) -lm -o lsconv $(LSCONVSRC)

%.o: %.c gsl/%.c
$(CC) -c $<

****************************************

Las lineas que no comienzan en la columna primera es que tienen un tabulador delante, no vale (creo) multiespacio.

Con esto basta con ir al directorio source de la carpeta drc-2.6.2 y escribir:

make

La respuesta del sistema tiene que ser:

gcc -O3 -I. -c -o cmdline.o cmdline.c
gcc -O3 -I. -c -o parsecfg.o parsecfg.c
gcc -O3 -I. -c -o fftsg.o fftsg.c
gcc -O3 -I. -c -o gsl/gsl_fft.o gsl/gsl_fft.c
gcc -O3 -I. -c -o gsl/error.o gsl/error.c
gcc -O3 -I. -c -o gsl/stream.o gsl/stream.c
g++ -O3 -I. -lm -lstdc++ -o drc baselib.cpp drc.cpp fft.cpp hd.cpp slprefilt.cpp spline.cpp bwprefilt.cpp convol.cpp dspwind.cpp drccfg.cpp fir.cpp level.cpp toeplitz.cpp cmdline.o parsecfg.o kirkebyfd.cpp fftsg.o gsl/gsl_fft.o gsl/error.o gsl/stream.o
gcc -O3 -I. -lm -o glsweep glsweep.c
gcc -O3 -I. -lm -o lsconv lsconv.c fftsg_h.c

Y ya disponemos de glsweep.exe (generador de sweeps), lsconv.exe (convolver para generación de respuestas impulsivas a partir de las medidas con sweeps) y drc.exe (el generador de filtros ecualizadores).

Estos programas una vez compilados se pueden distribuir sin necesidad de librerias adicionales (DLL's). Son independientes.
Avatar de Usuario
wynton
Admin
Mensajes: 3065
Registrado: Vie 26 Nov 2004 , 9:05
Ubicación: Madrid

Mensaje por wynton »

Editores GNU para leer y modificar las fuentes de DRC:

1- Emacs: el editor por excelencia; solo apto para muy frikis. Versión para windows:

http://ftp.gnu.org/pub/gnu/emacs/windows/

Basta con bajarse y descomprimir:

http://ftp.gnu.org/pub/gnu/emacs/window ... 386.tar.gz


2- DevC++:

http://www.bloodshed.net/devcpp.html

Botones, barritas, pestañas y todos estos estorbos....
Avatar de Usuario
wynton
Admin
Mensajes: 3065
Registrado: Vie 26 Nov 2004 , 9:05
Ubicación: Madrid

Mensaje por wynton »

Se me olvidaba, una versión "light" del emacs es Xemacs:

http://www.xemacs.org/Download/win32/

Es precisamente el editor que empleo bajo windows.
Avatar de Usuario
luisggarcia
Mensajes: 802
Registrado: Vie 16 Jul 2004 , 9:28

Mensaje por luisggarcia »

Yo estoy empleando el "Code::Blocks"
http://www.codeblocks.org/

Que es el que recomienda DRC.

Y me parece mucho más sencillo todo. No voy a poner ninguna ventana o explicación. Pues es gratuito, simplemente instalártelo y ya está.

Simplemente abriendo "drc.workspace" se abre de golpe todos los ficheros empleados de manera que puedes compilar, hacer debuger, o por ejemplo con un golpe de tecla sobre cualquier variable te envía de golpe al .h donde está definida o lo mismo sobre cualquier función te envía de golpe al .c donde se encuentra y abierto el fichero justo en esa función. Y por supuesto puedes editar rápidamente cualquier código.
Avatar de Usuario
wynton
Admin
Mensajes: 3065
Registrado: Vie 26 Nov 2004 , 9:05
Ubicación: Madrid

Mensaje por wynton »

Fenómeno, tiene muy buena pinta.

No lo conocía, muchas gracias por la información Luis.
Responder