
Estou trabalhando no cygwin. A maioria dos comandos Unix funciona 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
Observe que baixei o pacote make e adicionei o bin ao caminho.
Responder1
O principal erro é mostrado nesta linha:
$ make -f makefile.mak "c:/arquivos de programas/mingw/bin/gcc.exe" -Wall -Wnested-externs -ggdb -O0 -c -
Este erro mostra que o cygwin make
encontra o caminho do compilador C, ou seja, $(CC)
em 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 /bin
pasta na %PATH%
variável de ambiente do sistema. 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 %PATH%
variável de ambiente 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
e pressione Enter. Vá para Sistema e Segurança > Sistema > Configurações avançadas do sistema > Variáveis de ambiente > Variáveis de sistema > Caminho.
Clique duas vezes na variável "Caminho". Você pode ver uma janela "Editar variável de ambiente". Exclua os dois caminhos C:\cygwin
e C:\Program Files\mingw\bin
com Deletechave.
Agora crie dois arquivos em lote, um cygwin.bat e mingw.bat. Isso pode ser feito em um arquivo, apenas simplifiquei. Copie as seguintes linhas nos arquivos em lote correspondentes. Os comandos irão configurar o ambiente para compilar.
- Para cigwin:
@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