проблемы с openGl на затмении - PullRequest
1 голос
/ 18 мая 2010

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

#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 ]

2 голосов
/ 18 мая 2010

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

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

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

0 голосов
/ 18 мая 2010

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

...