繁体   English   中英

Mac上的OpenGL C ++构建失败,找不到“ GL / glut.h”文件

OpenGL C++ on Mac build fail 'GL/glut.h' file not found

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

尝试使用xCode在OSX Yosemite上运行示例OpenGL C ++程序。

运行该程序时,我找不到“ GL / glut.h”文件的屏幕截图:

找不到“ GL / glut.h”文件

但是,我在项目中确实有glut.h标头:

项目中的glut.h标头

在另一个论坛上,我读到它应该是'GLUT / glut.h',所以我这样做了,但是得到了以下消息:

谷蛋白/谷

要配置C ++的OpenGL我需要做什么?

这是我要运行的代码。 如果我可以运行它,那么我应该准备好一切:

#include <GLUT/glut.h>
#include <math.h>
//#include <stdlib.h>

const double TWO_PI = 6.2831853;

/*  Initial display-window size.  */
GLsizei winWidth = 400, winHeight = 400;
GLuint regHex;

class screenPt
{
private:
    GLint x, y;

public:
    /*  Default Constructor: initializes coordinate position to (0, 0).  */
    screenPt ( )  {
        x = y = 0;
    }

    void setCoords (GLint xCoord, GLint yCoord)  {
        x = xCoord;
        y = yCoord;
    }

    GLint getx ( ) const  {
        return x;
    }

    GLint gety ( ) const  {
        return y;
    }
};

static void init (void)
{
    screenPt hexVertex, circCtr;
    GLdouble theta;
    GLint k;

    /*  Set circle center coordinates.  */
    circCtr.setCoords (winWidth / 2, winHeight / 2);

    glClearColor (1.0, 1.0, 1.0, 0.0);   //  Display-window color = white.

    /*  Set up a display list for a red regular hexagon.
     *  Vertices for the hexagon are six equally spaced
     *  points around the circumference of a circle.
     */
    regHex = glGenLists (1);   //  Get an identifier for the display list.
    glNewList (regHex, GL_COMPILE);
    glColor3f (1.0, 0.0, 0.0);   //  Set fill color for hexagon to red.
    glBegin (GL_POLYGON);
    for (k = 0; k < 6; k++) {
        theta = TWO_PI * k / 6.0;
        hexVertex.setCoords (circCtr.getx ( ) + 150 * cos (theta),
                             circCtr.gety ( ) + 150 * sin (theta));
        glVertex2i (hexVertex.getx ( ), hexVertex.gety ( ));
    }
    glEnd ( );
    glEndList ( );
}

void regHexagon (void)
{
    glClear (GL_COLOR_BUFFER_BIT);

    glCallList (regHex);

    glFlush ( );
}

void winReshapeFcn (int newWidth, int newHeight)
{
    glMatrixMode (GL_PROJECTION);
    glLoadIdentity ( );
    gluOrtho2D (0.0, (GLdouble) newWidth, 0.0, (GLdouble) newHeight);

    glClear (GL_COLOR_BUFFER_BIT);
}

void main (int argc, char** argv)
{
    glutInit (&argc, argv);
    glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
    glutInitWindowPosition (100, 100);
    glutInitWindowSize (winWidth, winHeight);
    glutCreateWindow ("Reshape-Function & Display-List Example");

    init ( );
    glutDisplayFunc (regHexagon);
    glutReshapeFunc (winReshapeFcn);

    glutMainLoop ( );
}
2 个回复

当您将其更改为'GLUT / glut.h'时,它会正确找到标题。 不幸的是,现在您收到有关不推荐使用的功能的所有警告消息。

有关已弃用功能消息的修复,请参阅有关 Mac OSX 10.9,IDE:QT Creator中 glut功能Glut弃用的 xcode 5弃用警告。

您还会收到一条错误消息,提示您的主函数需要返回一个int。 这将阻止您的代码编译,而不是警告。

编辑您应该更改主函数的返回类型为int。

int main(int argc, char *argv[])
{
  /* code */
  return 0;
}

一些编译器会接受void作为main的返回类型,但这是非标准扩展。

尝试#include <GLUT/glut.h>因为框架链接名称是GLUT。

3 OPENgl - GL/glut.h 没有这样的文件或目录

任何人都可以帮助我解决以下错误 GL/glut.h 没有这样的文件或目录 我做的事情是 安装 MinGW 后,我已将 Path 添加到路径环境变量中 将“glut.h”添加到 C:\\MinGW\\Include\\GL 将 glut32.dll 添加到 C:\\Windows\\Sys ...

6 未解决的包含

我正在尝试让opengl与eclipse一起使用,并且不断出现以下未解决的错误,但是当我运行一些示例代码时,它仍然可以工作,这只是出现大量错误的问题-这将使调试几乎成为不可能。 这是我的路 ...

7 OpenGL:Glut.h访问冲突

好的,所以我正在开发一个小程序,该程序使用递归函数在四个给定点之间进行细分,从而随机生成一张地形图,并且该地形由四边形组成。 在每次递归中找到的中心点都被赋予一个随机的高度值,然后所有的顶点被保存到一个数组中,然后在绘制时循环遍历。 最初,我定义的是用于将顶点存储在堆栈上的2D数组,但是 ...

9 VS 2012 gl / glut.h问题包括GLUT INSTALLED

gl库有一些问题:我们的老师给了我们一个zip文件夹,其中包含gl库的所有工具,并用C:解压缩。 问题是,当我尝试在System32和SysWOW64中复制文件时,写入权限被拒绝(即使我是计算机的管理员和唯一用户)。 我试图更改授予所有用户和管理员完全控制权的权限,但是它似乎并没有改变。 ...

2014-10-07 11:56:24 1 182   opengl
10 我的opengl / glut.h代码上的参数方程式错误

这是问题: 下面的参数方程式设置了一条t∈R的曲线: x(t)= sin(t)+ 1/2 sin(5t)+ 1/4 cos(2,3t) y(t)= cos(t)+ 1/2 cos(5t)+ 1/4 sin(2,3t) 使用GL_LINE_STRIP绘制白色曲线, ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM