2013-08-31 9 views
6

Próbuję skompilować program C dla mojej klasy CS. Mam zainstalowane narzędzia Command Line na moim Macu, więc prawdopodobnie mam OpenGL. Opis Program został stworzony dla Ubuntu i mówi mi skompilować przy użyciu:Kompilowanie programu C, który używa OpenGl w systemie Mac OS X

gcc -Wall -ansi -pedantic -O2 main.o graphic.o imagem.o io.o -o ep2 -lGL -lGLU -lglut 

wpadłem, że i on powiedział:

ld: library not found for -lGL 

Co flagi należy użyć? Co ja robię?

+0

Czy naprawdę potrzebujesz "-lGL -lGLU -lgut"? – Kevin

Odpowiedz

11

W systemie MacOS X nie używasz bibliotek do obsługi interfejsów API na poziomie systemu, ale Frameworks. Właściwa linia poleceń skompilować ten program byłby

gcc -Wall -ansi -pedantic -O2 \ 
    main.o graphic.o imagem.o io.o \ 
    -o ep2 \ 
    -framework OpenGL -lGLU -lglut 

Zauważ, że GLU jest prawdopodobnie częścią ram OpenGL, jak również. Może być wymagane zainstalowanie najpierw GLUT.

+0

A co z -lGL? –

+2

@ ThiG .: Nie używasz '-lGL' na MacOS X. Używasz tam struktury OpenGL. Aha, i w kodzie źródłowym prawdopodobnie trzeba zamienić '#include ' na '#include '. Apple mocno cierpi na * nie wynaleziony syndrom *. – datenwolf

+0

+1 - Dodam tylko, że istnieje również struktura GLUT, jeśli OP jest niefortunny, aby go potrzebować. Nie wiem, czy dobrze pasuje do profilu podstawowego. –

Powiązane problemy