Como executar um makefile no Windows?

187

Tenho algumas demos que baixei e elas vêm com um Makefile.win e um Makefile.sgi. Como posso executá-los no Windows para compilar as demos?

Kim
fonte
1
Devo mencionar que sou mais uma pessoa Linux, mas preciso usar o Windows agora, então sou um pouco sem noção.
Kim
1
Guia muito claro é dado aqui
Sherzod 04/03

Respostas:

114

Se você possui o Visual Studio, execute o prompt de comando do Visual Studio no menu Iniciar, vá para o diretório que contém Makefile.wine digite:

nmake -f Makefile.win

Você também pode usar o prompt de comando normal e executar vsvars32.bat (c: \ Arquivos de Programas (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ Tools para VS2008). Isso configurará o ambiente para executar o nmake e encontrar as ferramentas do compilador.

Marcelo Cantos
fonte
5
Como executo o prompt de comando do visual studio no menu Iniciar?
Kim
Tudo bem, eu descobri. Mas é claro que não seria compilado por causa de erros. Apenas minha sorte. Obrigado embora.
Kim
9
Para aqueles com VS2012, o prompt de comando é chamado "Prompt de Comando do Desenvolvedor para VS2012". Iniciar -> Pesquisar -> "comando" é como eu o encontrei.
undeniablyrob
@NSD: Você pode tentar outros "make" s, mas esses arquivos geralmente são escritos no dialeto do nmake e com a suposição de que o VS está instalado e no caminho. Você pode achar que o VS Express gratuito é suficiente.
Marcelo Cantos
@MarceloCantos Eu sou um noob para Linux e Making. E se eu tiver os arquivos .am e .mk. Não tenho nenhum arquivo .win. Estou tentando fazer wget, btw.
Cheeku
53

Confira o cygwin , um ambiente semelhante ao Unix para Windows

Frank
fonte
6
cygwin funcionou bem para mim! Eu apenas tive que verificar, durante a instalação, alguns pacotes em Devel: 'make' e também 'gcc' como explicado aqui .
Damien Leroux
6
Eu recomendo também instalar cygwin usando achocolatada, então o comando para get makeé esta:choco install make --source=cygwin
zygimantus
depois de instalar o choco, como posso adicioná-lo ao meu shell de comando? existe um caminho a ser adicionado?
XaBerr
2
No caso de você instalou-lo com choco, em seguida, adicione esta linha (witought aspas) para a sua variável de caminho nas variáveis do sistema "C: \ tools \ cygwin \ bin"
Ali.Ghodrat
40

Confira GNUWin 's make , que fornece uma porta nativa para Windows (sem a necessidade de um ambiente de execução completa como Cygwin)

Sean Lynch
fonte
8
Além disso, adicione "C: \ Arquivos de Programas (x86) \ GnuWin32 \ bin" ao PATH do sistema.
Cc #
29

Aqui está minha maneira rápida e temporária de executar um Makefile

  • faça o download do SourceForge: gnuwin32
  • instale-o
  • vá para a pasta de instalação

C: \ Arquivos de programas (x86) \ GnuWin32 \ bin

  • copie todos os arquivos na lixeira para a pasta que contém Makefile

libiconv2.dll libintl3.dll make.exe

  • abra o cmd (você pode fazê-lo com o botão direito do mouse com shift ) na pasta que contém Makefile e execute

make.exe

feito.

Além disso, você pode adicionar argumentos após o comando, como

make.exe skel

alan9uo
fonte
11
Provavelmente é melhor adicionar bindiretório à PATHvariável de ambiente. Isso make.exedisponibilizará de qualquer lugar.
Yukulélé
1
Eu acho que é feito por padrão - pelo menos foi o caso quando eu instalei o gnuwin32. É claro que copiar os arquivos é uma prática ruim de qualquer maneira.
JFFIGK
1
Não é feito por padrão (ou não no meu caso). Adicionando-o ao caminho, você pode executar o make da pasta do projeto.
214 Victor Victor
Trabalho como um campeão
trungducng
28

Essa pergunta pode ser antiga, mas minha solução, que é de longe a mais simples para qualquer usuário do Windows que eu suponha, não está listada.

Etapa 1: Instale o gerenciador de pacotes com chocolate para WINDOWS (compatível com Windows 7+ / Windows Server 2003+) aqui

Etapa 2: executarchoco install make

Etapa 3: lucre com um gerenciador de pacotes bem mantido. O make foi adicionado ao caminho global e é executado em todas as CLIs (powershell, git bash, cmd…)

Eu não sou afiliado com choco, mas é tão bom.

ledawg
fonte
8

Se você instalar o Cygwin . Certifique-se de selecionar make no instalador. Você pode executar o seguinte comando, desde que tenha um Makefile.

make -f Makefile

https://cygwin.com/install.html
sunny0402
fonte
6

Com o Visual Studio 2017, tive que adicionar esta pasta à minha variável env do caminho do Windows 10:

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

Há também HostX86

raRaRa
fonte
3

Primeiro, adicione o caminho das ferramentas comuns do visual studio ( c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools) no caminho do sistema. Para saber como adicionar um caminho ao caminho do sistema, consulte este site: http://www.computerhope.com/issues/ch000549.htm . Você só precisa disso uma vez.

Depois disso, sempre que precisar, abra uma linha de comando e execute vsvars32.batpara adicionar todos os caminhos das ferramentas necessárias do visual studio no caminho do sistema.

Então, você pode ligar nmake -f makefile.mak

PS: O caminho das ferramentas comuns do visual studio pode ser diferente no seu sistema. Por favor, altere-o de acordo.

Validus Oculus
fonte
3

Se for um "NMake Makefile", ou seja, a sintaxe e o comando forem compatíveis com o NMake, ele funcionará nativamente no Windows. Geralmente Makefile.win(o .winsufixo) indica que é um makefile compatível com o Windows NMake. Então você poderia tentar nmake -f Makefile.win.

Geralmente, os Makefiles Linux padrão são fornecidos e NMakeparecem promissores. No entanto, o link a seguir utiliza um simples Makefile do Linux e explica alguns problemas fundamentais que podem ser encontrados. Também sugere algumas alternativas para lidar com os Makefiles do Linux no Windows.

Makefiles no Windows

ap-osd
fonte
1

Eu tentei com cygwin & gnuwin e não funcionou para mim, acho que porque o makefile usava principalmente código linux específico.

O que funcionou foi o uso do Ubuntu Bash para Windows 10 . Esta é uma maravilha se você vem do MAC, como é o meu caso:

  1. Para instalar o Ubuntu Bash: https://itsfoss.com/install-bash-on-windows/
  2. Uma vez no console, para instalar o make, basta digitar "make" e ele fornece instruções para fazer o download.

Extras:

  1. Útil ativar copiar / colar no bash: Copiar Colar no Bash no Ubuntu no Windows
  2. No meu caso, o make chamou Maven, então eu tenho que instalá-lo também: /ubuntu/722993/unable-to-locate-package-maven
  3. Para acessar o sistema de arquivos Windows C: drive, por exemplo: "cd / mnt / c /"

Espero que ajude

Oriol Manyà Pau
fonte
0

Eu uso o conjunto de ferramentas MinGW , que fornece a mingw32-makeferramenta de compilação, se você a tiver na PATHvariável do sistema , no prompt de comando do Windows, basta ir para o diretório que contém os arquivos e digitar este comando:

mingw32-make -f Makefile.win

e está feito.

WENDYN
fonte
-2

Talvez você possa experimentar o NetBeans IDE.

user0814
fonte