Tôi đã viết một chương trình trên Ubuntu 11.04 sử dụng freeglut. Nó hoạt động tốt. Sau đó, tôi có một máy tính khác và cố gắng chạy chương trình trên một bản cài đặt mới của Ubuntu 11.04. Không hoạt động. Vì vậy, tôi cài đặtOpengl linux undefined tham chiếu đến các chức năng cơ bản
sudo apt-get install freeglut3 freeglut3-dev libglew1.5 libglew1.5-dev libglu1-mesa libglu
1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev mesa-chung-dev gcc
và cố gắng để chạy chương trình, trong đó nhập khẩu
#include <GL/freeglut.h>
#include <GL/gl.h>
#include <GL/glu.h>
sử dụng lệnh
g++ -lGL -lGLU -lglut Driver.cpp -o a
Tuy nhiên mối liên kết hoặc bất cứ điều gì spits ra như 200 lỗi có dạng:
Driver.cpp:(.text+0x3c6b): undefined reference to `glutSolidSphere'
Driver.cpp:(.text+0x3c75): undefined reference to `glEnable'
Driver.cpp:(.text+0x3c9a): undefined reference to `glColor4f'
Driver.cpp:(.text+0x3cb5): undefined reference to `glRotatef'
Driver.cpp:(.text+0x3d02): undefined reference to `glutSolidSphere'
Driver.cpp:(.text+0x3d07): undefined reference to `glutSwapBuffers'
Nguyên nhân của sự cố là gì?
Tại sao tệp nguồn của bạn có tên .cpp nếu bạn biên dịch bằng gcc? Nếu nó là C++, bạn phải biên dịch với g ++, nếu nó là C, nó phải được gọi là something.c. – lvella
Typo trong bài đăng. Tôi đang sử dụng g ++ –
Driver.cpp này là gì? Bạn có bao gồm nó từ program.cpp? – lvella