Faça o comando não funcionar

1

Eu quero compilar um jogo do github. Eu segui este guia link e quando chego ao fim quando preciso usar o comando make para compilar Eu recebo o seguinte erro

pavle@Pavle:~/TPT$ make powder-sse
gcc -c -w -std=c99 -D_POSIX_C_SOURCE=200112L -DLUACONSOLE -DGRAVFFT -Iincludes/ -D_GNU_SOURCE -m32 -DLIN32 -O3 -ffast-math -ftree-vectorize -funsafe-math-optimizations -march=native -DX86 -DX86_SSE -o build/obj/air.powder-sse.o src/air.c
In file included from /usr/include/math.h:28:0,
                 from src/air.c:18:
/usr/include/features.h:324:26: fatal error: bits/predefs.h: No such file or directory
compilation terminated.
make: *** [build/obj/air.powder-sse.o] Error 1
pavle@Pavle:~/TPT$ 

O que estou fazendo de errado? Eu tentei usar sse2, sse3, 64bit nad opengl (procurei no arquivo make) nada funcionou. Ajuda por favor

    
por The Edge Of Rage 13.10.2012 / 00:34

2 respostas

1

Você está em um sistema de 64 bits? Tente instalar gcc-multilib

sudo apt-get install gcc-multilib

e make novamente.

    
por phoibos 13.10.2012 / 01:27
0

Há uma ou duas coisas a serem observadas: em sistemas de 64 bits, você pode precisar de bibliotecas um pouco diferentes, como outra resposta menciona, portanto, devo garantir que você tenha todas as dependências (conforme observado nos comentários).

Em particular, parece que você está perdendo o libfftw3-dev crítico, que fornece os arquivos e cabeçalhos 'aéreos', e assim você recebe este erro:

make: *** [build/obj/air.powder-sse.o] Error 1

Além disso, você deve usar uma versão do SSE que sua CPU possa utilizar - eu acabei de compilá-la com êxito usando make powder-sse2 e, em seguida, executá-la com ./powder-sse2 . No entanto, por padrão, apenas digitar make criará uma versão SSE3 que não funcionará em CPUs sem essa extensão.

Portanto, devo verificar suas dependências e, em seguida, executar make clean e tentar a compilação novamente, com um valor de SSE adequado para sua CPU.

    
por user76204 13.10.2012 / 01:34