我是这个网站的新手,对编程也比较陌生。我一直在使用 Visual Studio 2010 进行一些 C++ 编程,我想进入 OpenGL,所以我购买了 OpenGL Superbible 开始使用。我被困在第二章的“简单”项目上。经过数小时的研究,我已经能够下载所有必要的文件来使用 freeGLUT 和 GLtools。我已经确保一切都在正确的地方让程序正常工作。现在,似乎一切都已经解决了……除了一个奇怪的问题。
有人指示我需要将 freeglut.dll 放入 Windows\System32,所以我这样做了。该项目现在将构建,但是当我运行它时,它告诉我
“程序无法启动,因为您的计算机中缺少 freeglut.dll。请尝试重新安装程序以解决此问题。”
现在,我确定 freeglut.dll 应该在 Windows\System32 中,那么问题出在哪里?我该如何解决?
这是书中的原始代码:
#include "../../shared/gltools.h" //OpenGL toolkit
//////////////////////////////////////////////
//called to draw scene
void RenderScene(void)
{
// clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT);
//Flush drawing commands
glFlush();
}
////////////////////////////////////////////////////////
//set up the rendering state
void SetupRC(void)
{
glClearColor(0.0f , 0.0f, 1.0f, 1.0f );
}
///////////////////////////////////////////////////////////
//main program entry point
void main(void)
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
glutCreateWindow("Simple");
glutDisplayFunc(RenderScene);
SetupRC();
glutMainLoop();
return 0;
}
这是实际编译的代码,但不会运行(我从不同资源获得的所有冲突数据有点混乱):
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <GLTools.h>
#include <gl/GLUT.h>
//called to draw scene
void RenderScene(void)
{
// clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}
//set up the rendering state
void SetupRC(void)
{
glClearColor(0.0f , 0.0f, 1.0f, 1.0f );
}
//void main(void)
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
glutCreateWindow("Simple");
glutDisplayFunc(RenderScene);
SetupRC();
glutMainLoop();
return 0;
}