VS2012配置Opengl以及“无法解析的外部符号 __imp____glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用”问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013383042/article/details/52024527

1、配置步骤
(1)首先下载glut相关文件,下载地址:
http://download.csdn.net/detail/u013383042/9329101
(2)glut.h:头文件,将其复制到 D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\gl
(原本没有gl文件夹,需要手动新建一个gl文件夹)
(3)glut.lib,glut32.lib:静态链接库,将其复制到 D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib
(4)glut.dll,glut32.dll:动态链接库,将其复制到 C:\Windows\System32,电脑系统是64位的,还需将其复制到C:\Windows\SysWOW64。

至此环境配置完成。

2、可以尝试第一个小程序了

#include <gl\glut.h>

void myDisplay(void)
{
    glClear(GL_COLOR_BUFFER_BIT);
    glRectf(-0.5f, -0.5f, 0.5f, 0.5f);
    glFlush();
}

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(400, 400);
    glutCreateWindow("第一个OpenGL程序");
    glutDisplayFunc(&myDisplay);
    glutMainLoop();
    return 0;
}

3、遇到的问题
(1)error LNK2019: 无法解析的外部符号 __imp____glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用
(2)error LNK2019: 无法解析的外部符号 __imp____glutCreateWindowWithExit@8,该符号在函数 _glutCreateWindow_ATEXIT_HACK@4 中被引用

效果展示:
这里写图片描述
4、解决方法

#include <GL/glut.h>前面加上了一句:  
#define GLUT_DISABLE_ATEXIT_HACK 
(!!!注意,是前面!!!)

这里写图片描述

运行结果:
这里写图片描述

至此,问题迎刃而解!

原创:http://blog.csdn.net/u013383042/article/details/52024527

猜你喜欢

转载自blog.csdn.net/u013383042/article/details/52024527