现在的位置: 首页 > 综合 > 正文

VS2010+Win7下配置OpenGL

2018年05月05日 ⁄ 综合 ⁄ 共 1616字 ⁄ 字号 评论关闭

       之前用VS2008+OpenGL时,配置很容易,主要分为三步,(1)将glut.h文件拷贝到Visual Studio安装目录下的VC\Include\GL目录中,若没有GL目录就新建一个;(2)将glut.lib和glut32.lib拷贝到Visual Studio安装目录下的VC\lib目录中;(3)将glut.dll和glut32.dll拷贝到C:\Windows\System32目录下。这样就可以了。

       但是现在用VS2010+OpenGL时,配置时发现一些问题,最后解决了。现把配置过程写下来做个记录。

       第一步,将glut.h文件拷贝到"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\gl",可以看到这个下面已经有一个gl文件夹了。

       第二步,将glut.lib和glut32.lib拷贝到Visual Studio安装目录下的VC\lib目录中;

       第三步,将glut32.dll放到Visual
Studio安装目录下的
VC\bin目录中;

 
     第四步,打开VS2010,新建一个控制台项目。在项目上右键,属性-> 配置属性 -> 链接器 -> 输入 -> 附加依赖项, 在其中添加三个lib文件,即opengl32.lib;glu32.lib;glut32.lib;

 
     下面给一段测试代码:

#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("First OpenGL");  
    glutDisplayFunc(&myDisplay);  
    glutMainLoop();  
    return 0;  
}

        运行后,可能会报如下错误:

 
      error LNK2019: 无法解析的外部符号 __imp____glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用
        error LNK2019: 无法解析的外部符号 __imp____glutCreateWindowWithExit@8,该符号在函数 _glutCreateWindow_ATEXIT_HACK@4 中被引用

        解决方法如下:

     1、工程属性->配置(设为‘所有配置’)->配置属性->C/C++->预处理器定义(设为‘GLUT_BUILDING_LIB’)

     2、在#include<gl\glut.h>前一行定义定义#define
GLUT_DISABLE_ATEXIT_HACK。

 
    这两种方法可能都有效,也可能第一种无效。不过第二种方法太麻烦了,每次都要加这样一条语句。


注:glut库可在http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip上下载



参考:

1、http://vipscu.blog.163.com/blog/static/181808372201121491621756/

2、http://www.cnblogs.com/cjyang/archive/2010/10/18/1855169.html

3、http://blog.csdn.net/zhongjling/article/details/7532128


----The End----

抱歉!评论已关闭.