2015-04-01 1 views
0

Я новичок в настройке среды C/C++. Сейчас я использую Eclipse IDE. Ниже приведены шаги, которые я выполнил. После установки MinGW и запуска основной программы HelloWorld, C 1) Скопировано glew32.dll и glut32.dll в «C: \ MinGW \ bin» 2) Скопировано gl.h, glew.h, glu.h и glut.h в "C: \ MinGW \ include \ GL" 3) Скопированы glew32.lib, glut32.lib и OPENGL32.LIB в "C: \ MinGW \ lib" 4) В свойствах Project-> -> C/C++ Build-> Настройки-> Настройки инструмента-> MinGW C Linker-> Библиотеки (-l) добавлены «glew32», «glut32», «glu32» и «opengl32» 5) Скопировано ниже кодаМомент, который я добавляю glew.h, в моем кодере, связанные с ошибкой, появляются ошибки

Компилируется правильно.

Момент, когда я разорвал первую строку, то есть glew.h, появляются ошибки компиляции, связанные с избытком (добавлено ниже). Может ли кто-нибудь сказать мне, где я ошибаюсь во время установки?

//#include <GL/glew.h> 
#include <GL/gl.h> 
#include <GL/glut.h> 

void changeViewport(int w, int h) 
{ 
    glViewport(0, 0, w, h); 
} 

void render() 
{ 
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
    glutSwapBuffers(); 
} 


int main(int argc, char** argv) 
{ 
    glutInit(&argc, argv); 

    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH); 
    glutInitWindowSize(800, 600); 
    glutCreateWindow("Pinnen is the best"); 
    glutReshapeFunc(changeViewport); 
    glutDisplayFunc(render); 
    glutMainLoop(); 
    return 0; 
} 


Description Resource Path Location Type 
undefined reference to `__glutCreateMenuWithExit' OpenGL  line 549, external location: c:\mingw\include\GL\glut.h C/C++ Problem 
undefined reference to `__glutCreateWindowWithExit' OpenGL  line 503, external location: c:\mingw\include\GL\glut.h C/C++ Problem 
undefined reference to `__glutInitWithExit' OpenGL  line 486, external location: c:\mingw\include\GL\glut.h C/C++ Problem 
undefined reference to `glutDisplayFunc' OpenGL.c /OpenGL/src line 25 C/C++ Problem 
undefined reference to `glutInitDisplayMode' OpenGL.c /OpenGL/src line 21 C/C++ Problem 

// игнорировать

+0

Вы связываетесь с перенасыщением и glew? Как вы это компилируете? –

+0

Я новичок в настройке среды C/C++. Сейчас я использую Eclipse IDE. Ниже приведены шаги, которые я выполнил. После установки MinGW и запуска основной программы HelloWorld, C 1) Скопировано glew32.dll и glut32.dll в «C: \ MinGW \ bin» 2) Скопировано gl.h, glew.h, glu.h и glut.h в "C: \ MinGW \ include \ GL" 3) Скопированы glew32.lib, glut32.lib и OPENGL32.LIB в "C: \ MinGW \ lib" 4) В свойствах Project-> -> C/C++ Build-> Settings-> Настройки инструмента-> MinGW C Linker-> Библиотеки (-l) добавлены «glew32», «glut32», «glu32» и «opengl32» 5) Скопировано выше код После компиляция Я получаю ошибки компиляции, упомянутые выше. – user2978111

+0

Вы все еще неясны в своем вопросе. В скомпилированной версии программы #include glew.h комментируется или нет? Если вы не хотите использовать glew, почему вы связываете его с компилятором? И, как я заявил в своем ответе, если вы хотите использовать glew, удалите оператор #include gl.h. Btw, glut - очень старая библиотека, я предлагаю вам вместо этого использовать glfw или freeglut. –

ответ

1

От Glew webpage [удалить Г.Л. включают]:

Использование GLEW в качестве общей библиотеки

в программе:

#include <GL/glew.h> 
#include <GL/glut.h> 
<gl, glu, and glut functionality is available here> 

или:

#include <GL/glew.h> 
<gl and glu functionality is available here> 

Не забудьте связать свой проект с glew32.lib, glu32.lib и opengl32.lib на Windows, и libGLEW.so, libGLU.so и libGL.so на Unix (-lGLEW -lGLU -lGL) , Важно помнить, что glew.h не включает ни windows.h, ни gl.h. Кроме того, GLEW предупредит вас, выпустив ошибку препроцессора, если вы включили gl.h, glext.h или glATI.h перед glew.h.

+0

Можете ли вы рассказать о моих новых комментариях? – user2978111

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