Compilando EP2 no Mac OS X Mountain Lion

Compilando EP2 no Mac OS X Mountain Lion

por Thiago Gomes -
Número de respostas: 3

ATENÇÃO: As ações referidas abaixo foram efetuadas no Mac OS X Mountain Lion com o Command Line Tools instalado.

Olá à todos! = )

Hj fui mexer com o EP2.

Primeiro, baixei o arquivo executável do EP2 para Mac na página da disciplina. Ao baixar o arquivo, ele veio como Plain Text. Para executálo é preciso convertê-lo para um arquivo executável.

Para fazer isso, basta executar no Terminal:

chmod +x  (arraste o arquivo aqui no seu Terminal)

Pronto! Agora basta rodá-lo: ./ep2-macosx

Ele funcionou perfeitamente, pelo menos, aparentemente.

 #---------------------------------------------------------------------#

Depois, baixei os arquivos do EP2. Ao tentar compilar ele, eu recebi as seguintes menssagens de erro:

gcc -Wall -O2 -ansi -pedantic -Wno-unused-result -c main.c
cc1: error: unrecognized command line option "-Wno-unused-result"
make: *** [main.o] Error 1


Alterando o Makefile e recompilando:

gcc -Wall -O2 -ansi -pedantic -c main.c
main.c:130: warning: ‘mostreUso’ defined but not used
gcc -Wall -O2 -ansi -pedantic -c graphic.c
graphic.c:11:44: error: GL/glut.h: No such file or directory
(Sequêcia gigante de erros)


Alterei o arquivo graphic.c (apesar da menssagem "NÃO ALTERE" = P)

Troquei a linha:

#include <GL/glut.h>

Por:

/* funcoes do glut */
#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif

Ao recompilar o arquivo obtive:

gcc main.o graphic.o imagem.o io.o -o ep2 -lGL -lGLU -lglut
ld: library not found for -lGL
collect2: ld returned 1 exit status
make: *** [ep2] Error 1

Voltemos ao Makefile. Troquei:

$(CC) main.o graphic.o imagem.o io.o -o ep2 -lGL -lGLU -lglut

Por:

$(CC) main.o graphic.o imagem.o io.o -o ep2 -framework OpenGL -framework GLUT

E finalmente recompilei (momento de tensão...). PRONTO! XD

gcc -Wall -O2 -ansi -pedantic -c main.c
main.c:130: warning: ‘mostreUso’ defined but not used
gcc -Wall -O2 -ansi -pedantic -c graphic.c
gcc -Wall -O2 -ansi -pedantic -c imagem.c
imagem.c:346: warning: ‘mallocSafe’ defined but not used
imagem.c:326: warning: ‘coresIguaisByte’ defined but not used
imagem.c:310: warning: ‘coresIguaisPixel’ defined but not used
gcc -Wall -O2 -ansi -pedantic -c io.c
gcc main.o graphic.o imagem.o io.o -o ep2 -framework OpenGL -framework GLUT

Acho que esse era o esperado. Ao tentar rodar (./ep2), no entanto, ele inicializou, travou e queboru. Isso é pq eu não programei nada ainda?

Obs: Seguem anexados o meu Makefile  e o graphic.c após as modificações.

 

 

Em resposta à Thiago Gomes

Re: Compilando EP2 no Mac OS X Mountain Lion

por Wellington Castello -

Se você não programou nada com certeza vai quebrar.

myInit() na graphic.c faz _tela = tela; e glutInitWindowSize (_tela->width, _tela->height);

mas *tela = NULL (lá no main()).