错误CC2061:语法错误:标识符'GLUquadric'

时间:2013-12-21 16:17:05

标签: c++ compiler-errors identifier

为什么此代码会给我一个关于标识符GLUquadric的错误?据我所知,GLFW包含应该将其纳入范围。

#ifndef BALL_H
#define BALL_H

#define GLFW_INCLUDE_GLU
#include <GLFW/glfw3.h>

#include <glm/glm.hpp>
#include <glm/ext.hpp>

struct Cuboid;

struct Ball {
    glm::vec3 position;
    glm::vec3 velocity;
    float radius;

    glm::quat orientation;
    glm::vec3 angular_velocity;

    Ball(float radius);
};

void draw(const Ball& ball, GLUquadric* quadric);
void integrate(Ball& ball, float dt, const Cuboid& platform, glm::vec3 torque);

#endif

1 个答案:

答案 0 :(得分:0)

我自己想出了解决方案。包含Ball.h(我发布的那个)的.cpp文件似乎已经包含GLFW/glfw3.h但之前没有#define GLFW_INCLUDE_GLU。我通过在.cpp文件中添加一个定义来解决它,但我想也许我可以通过制作自己的标题opengl.h来实现更好的解决方案:

#ifndef OPENGL_H
#define OPENGL_H

#define GLFW_INCLUDE_GLU
#include <GLFW/glfw3.h>

#endif

然后包括{而不是GLFW/glfw3.h