VS2010+Win7下配置OpenGL

       之前用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----


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值