2013-08-31 79 views
6

Tôi đang cố gắng biên dịch chương trình C cho lớp CS của mình. Tôi đã cài đặt các công cụ Dòng lệnh trên máy Mac của mình, vì vậy tôi có thể có OpenGL. Mô tả chương trình đã được thực hiện cho Ubuntu và nó nói cho tôi để biên dịch sử dụng:Soạn thảo chương trình C sử dụng OpenGl trong Mac OS X

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

Tôi chạy đó và nó nói:

ld: library not found for -lGL 

Tôi nên sử dụng lá cờ? Tôi làm gì?

+0

Bạn có thực sự cần tất cả '-lGL -lGLU -lglut' không? – Kevin

Trả lời

11

Trong MacOS X bạn không sử dụng thư viện để bao gồm API cấp hệ thống, nhưng Khung. Dòng lệnh thích hợp để biên dịch chương trình này sẽ là

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

Lưu ý rằng GLU cũng có thể là một phần của khung OpenGL. Và nó có thể được yêu cầu để cài đặt GLUT đầu tiên.

+0

Còn về -lGL thì sao? –

+2

@ThiG .: Bạn không sử dụng '-lGL' trên MacOS X. Bạn sử dụng khung công tác OpenGL ở đó. Ồ, và trong mã nguồn bạn có thể cần phải thay thế '#include ' bằng '#include '. Apple mạnh mẽ bị * không phát minh ở đây * syndrom. – datenwolf

+0

+1 - Tôi chỉ thêm rằng cũng có một khung GLUT có sẵn, nếu OP là không may, đủ để cần nó. Tôi không biết liệu nó có hoạt động tốt với cấu hình cốt lõi hay không. –