¿Cómo ejecutar un archivo MAKE en Windows?


187

Tengo algunas demos que descargué y vienen con un Makefile.win y un Makefile.sgi. ¿Cómo puedo ejecutar estos en Windows para compilar las demostraciones?


1
Debo mencionar que soy más una persona de Linux, pero necesito usar Windows en este momento, así que no tengo ni idea.
— Kim

Respuestas:


114

Si tiene Visual Studio, ejecute el símbolo del sistema de Visual Studio desde el menú Inicio, cambie al directorio que contiene Makefile.winy escriba esto:

nmake -f Makefile.win

También puede usar el símbolo del sistema normal y ejecutar vsvars32.bat (c: \ Archivos de programa (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ Tools para VS2008). Esto configurará el entorno para ejecutar nmake y buscar las herramientas del compilador.


55
¿Cómo ejecuto el símbolo del sistema de Visual Studio desde el menú de inicio?
— Kim

Muy bien, lo descubrí. Pero, por supuesto, no se compilaría debido a errores. Solo mi suerte. Gracias sin embargo.
— Kim

9
Para aquellos con VS2012, el símbolo del sistema se llama "Símbolo del sistema del desarrollador para VS2012". Inicio -> Buscar -> "comando" es como lo encontré.
— innegablementerob

@NSD: puede probar otras "marcas", pero estos archivos generalmente se escriben contra el dialecto de nmake y suponiendo que VS está instalado y en la ruta. Es posible que el VS Express gratuito sea suficiente.
— Marcelo Cantos

@MarceloCantos Soy un novato en Linux y Making. ¿Qué pasa si tengo un archivo .am y .mk? No tengo ningún archivo .win. Estoy tratando de hacer wget, por cierto.
— Cheeku

53

Echa un vistazo a cygwin , un entorno similar a Unix para Windows


66
¡Cygwin funcionó bien para mí! Solo tuve que verificar, durante la instalación, algunos paquetes en Devel: 'make' y también 'gcc' como se explica aquí .
— Damien Leroux

66
También recomiendo instalar cygwin usando chocolatey, por lo que el comando para obtener makees este:choco install make --source=cygwin
— zygimantus

después de instalar con choco, ¿cómo puedo agregarlo a mi shell de comandos? hay un camino para agregar?
— XaBerr

2
En caso de que lo haya instalado con choco, agregue esta línea (entre comillas) a su variable de ruta en las variables del sistema "C: \ tools \ cygwin \ bin"
— Ali.Ghodrat

40

Echa un vistazo a GNUWin 's maquillaje , que proporciona un puerto nativo para Windows (sin necesidad de un entorno de ejecución completa como Cygwin)


8
Además, agregue "C: \ Archivos de programa (x86) \ GnuWin32 \ bin" a la RUTA del sistema.
— ccy

29

Aquí está mi forma rápida y temporal de ejecutar un Makefile

  • descargar make de SourceForge: gnuwin32
  • instalarlo
  • ir a la carpeta de instalación

C: \ Archivos de programa (x86) \ GnuWin32 \ bin

  • copie todos los archivos en el contenedor a la carpeta que contiene Makefile

libiconv2.dll libintl3.dll make.exe

  • abra el cmd (puede hacerlo con el botón derecho con shift ) en la carpeta que contiene Makefile y ejecute

make.exe

hecho.

Además, puede agregar argumentos después del comando, como

make.exe skel


11
Probablemente sea mejor agregar un bindirectorio a PATHla variable de entorno. Esto estará make.exedisponible desde cualquier lugar.
— Yukulélé

1
Creo que está hecho por defecto, al menos ese fue el caso cuando instalé gnuwin32. Por supuesto, copiar los archivos es una mala práctica de todos modos.
— JFFIGK

1
No se hace por defecto (o no en mi caso). Al agregarlo a la ruta, puede ejecutar make desde la carpeta del proyecto.
— Víctor

Trabajar como un campeón
— Trungducng

28

Esta pregunta puede ser antigua, pero mi solución, que es, con mucho, la más simple para cualquier usuario de Windows, me atrevo a decir, no está en la lista.

Paso 1: Instale el administrador de paquetes de chocolate para WINDOWS (compatible con Windows 7+ / Windows Server 2003+) aquí

Paso 2: correchoco install make

Paso 3: Benefíciese de un administrador de paquetes bien mantenido. Make se habrá agregado a la ruta global y se ejecutará en todas las CLI (powershell, git bash, cmd ...)

No estoy afiliado a Choco, pero ES ASÍ DE BUENO.


8

Si instala Cygwin . Asegúrese de seleccionar make en el instalador. Luego puede ejecutar el siguiente comando siempre que tenga un Makefile.

make -f Makefile

https://cygwin.com/install.html

6

Con Visual Studio 2017 tuve que agregar esta carpeta a mi variable de entorno de ruta de Windows 10:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64

También hay HostX86


3

En primer lugar, agregue la ruta de las herramientas comunes de Visual Studio ( c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools) a la ruta del sistema. Para saber cómo agregar una ruta a la ruta del sistema, consulte este sitio web: http://www.computerhope.com/issues/ch000549.htm . Solo necesitas esto una vez.

Después de eso, siempre que lo necesite, abra una línea de comando y ejecútelo vsvars32.batpara agregar todas las rutas de herramientas de estudio visual requeridas en la ruta del sistema.

Entonces puedes llamar nmake -f makefile.mak

PD: la ruta de las herramientas comunes de Visual Studio puede ser diferente en su sistema. Por favor cámbialo en consecuencia.


3

Si es un "Makefile de NMake", es decir, la sintaxis y el comando son compatibles con NMake, funcionará de forma nativa en Windows. Por lo general Makefile.win(el .winsufijo) indica que es un archivo MAKE compatible con Windows NMake. Entonces podrías intentarlo nmake -f Makefile.win.

A menudo, se proporcionan archivos Makefiles Linux estándar y NMakeparece prometedor. Sin embargo, el siguiente enlace toma un simple Makefile de Linux y explica algunos problemas fundamentales que uno puede encontrar. También sugiere algunas alternativas para manejar Linux Makefiles en Windows.

Makefiles en Windows


1

Intenté con cygwin y gnuwin, y no funcionó para mí, supongo porque el archivo MAKE usaba principalmente código específico de Linux.

Lo que funcionó fue usar Ubuntu Bash para Windows 10 . Este es un Marvel si vienes de MAC como es mi caso:

  1. Para instalar Ubuntu Bash: https://itsfoss.com/install-bash-on-windows/
  2. Una vez en la consola, para instalar make simplemente escriba "make" y le dará las instrucciones para descargarlo.

Extras:

  1. Útil habilitar copiar / pegar en bash: Copiar Pegar en Bash en Ubuntu en Windows
  2. En mi caso, la marca se llamaba Maven, así que tengo que instalarla también: /ubuntu/722993/unable-to-locate-package-maven
  3. Para acceder al sistema de archivos de Windows C: unidad, por ejemplo: "cd / mnt / c /"

Espero eso ayude


0

Uso el conjunto de herramientas MinGW que proporciona la mingw32-makeherramienta de compilación, si la tiene en la PATHvariable de su sistema , en el símbolo del sistema de Windows simplemente vaya al directorio que contiene los archivos y escriba este comando:

mingw32-make -f Makefile.win

Y ya está hecho.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.