Você está em um sistema de 64 bits? Tente instalar gcc-multilib
sudo apt-get install gcc-multilib
e make
novamente.
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
Você está em um sistema de 64 bits? Tente instalar gcc-multilib
sudo apt-get install gcc-multilib
e make
novamente.
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.