我刚开始使用Graphics Library Utility Toolkit和Open Graphics Library(GLUT + OpenGL)。
我想创建一个窗口,我使用各种教程尝试了这个代码,但它没有用。
#include <OpenGL/OpenGL.h>
#include <GLUT/GLUT.h>
void display(void) {
glClearColor(0.0, 0.0, 0.0, 1.0);
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glFlush();
}
int main (int argc, char **argv[]) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE);
glutInitWindowSize(400, 400);
glutInitWindowPosition(100, 100);
glutCreateWindow("My First GLUT/OpenGL Window");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
它给了我错误:
无法将“
char***
”转换为“char**
”以将参数“2
”转换为“void glutInit(int*, char**)
”
它在第13行给了我错误。
有人可以给我一些相关信息吗?谢谢!
答案 0 :(得分:3)
错误消息告诉您,您正在将指向指针的指针传递给char作为glutInit
的第二个参数。这不是该函数所期望的,它需要一个指向指针的指针。
问题来自您main
的签名。标准的双参数main
函数接受一个int和一个指向指针的指针。
int main(int argc, char **argv)
也可写:
int main(int argc, char *argv[])
(两种形式相同。)
您正在添加一个间接级别。