一个简单的OpenGL程序编译错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个简单的OpenGL程序编译错误相关的知识,希望对你有一定的参考价值。

我在vc++6.0中建了一个MFC AppWizard(exe)项目,加入一个source文件如下
#include <windows.h>
#include <gl/glut.h>
//绘图子程序
void diplay(void)

glClearColor(0.0f,0.0f,1.0f,1.0f);
glClear(GL_COLOR_BUFFER_BIT);
glFlush();

//主程序
void main(int argc,char **argv)

glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutCreateWindow("hello");
glutDisplayFunc(display);
glutMainLoop();
但是编译时出错,这是书上的一个简单例子,错误为:c:\documents and settings\administrator\桌面\empty\ex1.cpp(16) : error C2065: 'display' : undeclared identifier
急用!!刚开始学OpenGL望高手指教,谢谢!

你建了一个MFC AppWizard(exe)项目,然后又用控制台的void main(int argc,char **argv),不太妥吧
OPENGL不用建MFC的。

你的问题:error C2065: 'display' : undeclared identifier 很简单,你是自己粗心
glutDisplayFunc(display); 注意是 display

//绘图子程序
void diplay(void) 注意是diplay. 写错了应该是要写"display"吧
参考技术A 哈哈,错误太明显了。你定义的函数是void diplay(void),而下面调用时写的是display,是定义时少了个s吧,所以编译时说display没有定义。

使用 qt 和 opengl 编译 c++ 项目时找不到标识符错误

【中文标题】使用 qt 和 opengl 编译 c++ 项目时找不到标识符错误【英文标题】:Identifier not found error when compiling a c++ project with qt and opengl 【发布时间】:2013-03-12 14:30:04 【问题描述】:

我正在尝试编译一个使用 QT 和 opengl 的 C++ 程序。

当我尝试编译它时,我收到了这个错误:

 Error  1   error C3861: 'gluErrorString': identifier not found 

寻找这个标识符,告诉我它定义在:glu.h 文件的第 64 行,它是 VS 2012 安装的一部分。

为什么会出现此错误?

我知道源代码是使用VS 2010开发的,但我认为如果我使用VS 2012应该没有任何区别。

我应该对项目设置进行任何更改吗?

【问题讨论】:

@Jaochim - 这不是问题,因为这是编译器错误而不是链接器错误 【参考方案1】:

首先检查您是否有该行:

#include <glu.h>

某处。

未能打开 glu.h 并确保没有阻止包含该行的 #defines。您可能需要为您的项目添加额外的定义。

有时只运行预处理器(不确定如何在 VS 中执行此操作)并确保符号最终出现在您的 cpp 文件中会很有用。

【讨论】:

在 VS 中,您可以打开源文件的属性(通常通过在解决方案视图中右键单击它),转到 C/C++ &gt; Preprocessor &gt; Generate preprocessed file @Angew 生成的文件保存在哪里? @mans 我相信它通常在源文件旁边。它的扩展名是.i【参考方案2】:

添加头文件 glu.h 后,您可能还会收到未解析符号 gluErrorString 的链接错误。您可以通过在项目设置的输入库中添加 glu32.lib 库来解决此问题。

【讨论】:

以上是关于一个简单的OpenGL程序编译错误的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL着色器版本编译错误

错误:在 Linux 上使用 OpenGL 编译 C++ 程序时出现“GL/glfw3.h:没有这样的文件或目录”

使用 qt 和 opengl 编译 c++ 项目时找不到标识符错误

尝试编译opengl项目时出现c ++未定义的引用错误

编译c ++项目/ Open GL时出现纹理错误

OpenGL“分段错误”错误