Falha ao compilar com o comando make

0

Estou trabalhando no cygwin. A maioria dos comandos Unix funciona muito bem. Também posso compilar com g ++ e gcc, mas recebo o erro abaixo quando executo make:

/cygdrive/b/tpm/src
$ make -f makefile.mak
"c:/program files/mingw/bin/gcc.exe" -Wall -Wnested-externs -ggdb -O0 -c - 
DTPM_WINDOWS -I"c:/program files/MinGW/include" -I"c:/program 
files/openssl/include" -I../utils -I. -DNO_BIT_FIELD_STRUCTURES AlgorithmCap.c -o AlgorithmCap.o
make: *** [makefile.mak:85: AlgorithmCap.o] Error 1

Note que eu fiz o download do pacote make e adicionei o bin ao caminho.

    
por Blackwood 10.06.2018 / 01:58

1 resposta

0

O erro principal é mostrado nesta linha:

$ make -f makefile.mak "c:/program files/mingw/bin/gcc.exe" -Wall -Wnested-externs -ggdb -O0 -c -

Esse erro mostra que o cygwin make localiza o caminho do compilador C, ou seja, $(CC) in C:\Program Files\mingw\bin\gcc.exe . Aqui o OP instalou o mingw e o cygwin na mesma máquina. Quando o instalador correspondente instala o cygwin e o mingw, ele adiciona a pasta /bin na variável de ambiente %PATH% system. Portanto, em tempo de compilação, o cygwin make pega o primeiro gcc.exe caminho que está no diretório mingw e o erro aparece.

Para remover a confusão do caminho, a variável de ambiente %PATH% deve ser configurada corretamente. Encontre mais detalhes sobre como editar variáveis de ambiente nos links abaixo. Aqui eu dou um esboço simples. Abra a caixa de diálogo Executar com Win + R . Digite control.exe nele e aperte enter. Vá para Sistema e Segurança > Sistema > Configurações avançadas do sistema > Variáveis de ambiente > Variáveis do sistema > Caminho.

Cliqueduasvezesnavariável"Path". Você pode ver uma janela "Editar variável de ambiente". Exclua os dois caminhos C:\cygwin e C:\Program Files\mingw\bin com a tecla Excluir .

Agora,criedoisarquivosemlote,umcygwin.bateummingw.bat.Issopodeserfeitoemumarquivo,apenassimplifico.Copieasseguinteslinhasnessesarquivosemlotecorrespondentes.Oscomandosirãoconfiguraroambienteparacompilar.

  • Paracygwin:
@echo off C: chdir C:\cygwin\bin C:\cygwin\bin\bash.exe --login -i
  • Para mingw:
@echo off
set PATH=C:\Program Files\mingw\bin;%PATH%
cmd /k

Perguntas e respostas semelhantes:

por 10.06.2018 / 21:34