2010-05-18 2 views
1

Я работаю над Windows XP У меня есть портативная версия Eclipse Galileo, но я не нашел там перенасыщения, поэтому решил добавить его с помощью этого link Я сделал все шаги, и теперь я пытаясь скомпилировать этот кодпроблемы с openGl на eclipse

#include "GL/glut.h" 
#include "GL/gl.h" 
#include "GL/glu.h" 

/////////////////////////////////////////////////////////// 
// Called to draw scene 
void RenderScene(void) 
{ 
// Clear the window with current clearing color 
glClear(GL_COLOR_BUFFER_BIT); 


// Flush drawing commands 
    glFlush(); 
} 

/////////////////////////////////////////////////////////// 
// Setup the rendering state 
void SetupRC(void) 
    { 
    glClearColor(0.0f, 0.0f, 1.0f, 1.0f); 
    } 

/////////////////////////////////////////////////////////// 
// Main program entry point 
void main(int argc, char* argv[]) 
{ 
glutInit(&argc, argv); 
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); 
     glutInitWindowSize(800,600); 
glutCreateWindow("Simple"); 
glutDisplayFunc(RenderScene); 

SetupRC(); 

glutMainLoop(); 
    } 

и у меня есть эти ошибки

Simple.o: In function `RenderScene': 
C:/Documents and Settings/Administrator/Desktop/workspace/open/Debug/../Simple.c:16: undefined reference to `_imp__glClear' 
C:/Documents and Settings/Administrator/Desktop/workspace/open/Debug/../Simple.c:20: undefined reference to `_imp__glFlush' 
Simple.o: In function `SetupRC': 
C:/Documents and Settings/Administrator/Desktop/workspace/open/Debug/../Simple.c:27: undefined reference to `_imp__glClearColor' 
Simple.o: In function `main': 
C:/Documents and Settings/Administrator/Desktop/workspace/open/Debug/../Simple.c:34: undefined reference to `glutInit' 
C:/Documents and Settings/Administrator/Desktop/workspace/open/Debug/../Simple.c:35: undefined reference to `glutInitDisplayMode' 
C:/Documents and Settings/Administrator/Desktop/workspace/open/Debug/../Simple.c:36: undefined reference to `glutInitWindowSize' 
C:/Documents and Settings/Administrator/Desktop/workspace/open/Debug/../Simple.c:37: undefined reference to `glutCreateWindow' 
C:/Documents and Settings/Administrator/Desktop/workspace/open/Debug/../Simple.c:38: undefined reference to `glutDisplayFunc' 
C:/Documents and Settings/Administrator/Desktop/workspace/open/Debug/../Simple.c:42: undefined reference to `glutMainLoop' 
collect2: ld returned 1 exit status 

пожалуйста, может кто-нибудь помочь мне, спасибо заранее

ответ

2

Похоже, вы не связываете библиотеки OpenGL, GLU или GLUT. Вам нужно указать Eclipse, чтобы связать их, и вам нужно указать директории, в которых они хранятся (по крайней мере, с большинством IDE, две операции отделены друг от друга).

Если память обслуживается, openGL сам будет be opengl32.lib. Если он будет установлен с достаточной целью, IDE, вероятно, уже будет знать местоположение этой библиотеки (то есть, это обычная часть Windows, а библиотека будет вместе с другими обычными библиотеками Windows). glu функции находятся в glu32.lib, который должен находиться в одном и том же месте.

Обычно глют в файле с именем glut32.lib. Предполагая, что вы установили Glut в корневой каталог вашего диска C, он обычно находится в «C: \ glut-3.7 \ lib \ glut».

+0

Вы гений, я искал эту информацию 6 часов, большое спасибо – lego69

0

кажется, что вы пропустили, чтобы добавить библиотеки и компоновщик не могут их найти. Убедитесь, что в диалоговом окне «Библиотеки» указаны правильные библиотеки. У меня нет установки Eclipse здесь, но этот диалог должен быть где-то рядом с проектом «Право на клик» -> «Свойства» -> «Библиотеки/C++ Linker».

Смежные вопросы