-1

我刚开始使用图形库实用工具包和开放图形库 (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**2void glutInit(int*, char**)

它给了我第 13 行的错误。

有人可以给我一些这方面的信息吗?谢谢!

4

1 回答 1

3

错误消息告诉您,您将指针指向指针的指针作为字符的第二个参数传递给glutInit. 这不是该函数所期望的,它需要一个指向字符的指针。

问题来自您的签名main。标准的双参数main函数接受一个 int 和一个指针到指针到字符的指针。

int main(int argc, char **argv)

也可以写成:

int main(int argc, char *argv[])

(这两种形式是等价的。)

您正在添加一个间接级别。

于 2013-05-26T06:54:42.117 回答