2011-12-20 13 views
5

Después de un poco de dolor y sufrimiento, logré instalar todo lo necesario para que MinGW funcione en una computadora que no está en la red.MinGW "make" comienza muy lentamente

Funcionó muy bien durante un par de días, pero ahora estoy experimentando retrasos muy largos antes de que algo empiece a suceder después de dar el comando "make" para construir mi proyecto.

Intenté deshabilitar la red, como se sugiere aquí: Why is MinGW very slow? Pero no sirvió de nada.

Tenga en cuenta que no es el progreso real de compilación/enlace que es lento, pero el inicio de esos procesos parece llevar una eternidad. 5-10 minutos. Excepto si acabo de hacerlo, entonces comienza en 10-30 segundos.

Sé que solía llevar mucho más tiempo cargar esas cintas en Commodore, pero a lo largo de los años me he impacientado.

¿Alguna idea?

+0

intentando conectar un servidor de licencias para algún compilador comercial/cadena de herramientas, o conectando al servidor SVN para verificar la versión del código actual que está compilando (llamar a svn-version desde makefile) son las causas que hicieron que 'make' tomara mucho tiempo para mi caso. –

+0

¡Gracias! La carpeta no tiene ninguna etiqueta svn ni usa ninguna de esas herramientas. Espero que alguien más tenga eso como un problema y encuentra que ese comentario es útil :) – 0xbaadf00d

+0

¿Estás seguro de que se invoca el 'hacer' correcto? tal vez tienes otros 'make's en tus rutas de búsqueda? – user1071136

Respuesta

7

Intenta hacer make -r (sin reglas implícitas). Para mí fue una diferencia entre 30 segundos y una fracción de segundo para un solo archivo cpp.

Explicación:

que he tenido el mismo problema MinGW hacer hace mucho tiempo. He usado make -d para investigar. Entonces fue obvio que make usa un montón de reglas implícitas para cada archivo de dependencia; si mi archivo tenía dep en shared_ptr.hpp, entonces make comprobado para shared_ptr.hpp (o | c | cc | v | f | r | .. y docenas otras combinaciones). Por supuesto, esos archivos no existían. Parece que verificar el tiempo/existencia del mod de archivo (cuando realmente no existe) en la plataforma de Windows es mucho más lento que en Linux (porque con Linux no vi ninguna diferencia con/sin el interruptor -r).