zoukankan      html  css  js  c++  java
  • Win7 64位+VS2008环境下配置 opengl 开发环境

    最近开始研究Opengl,在自己电脑上安装了VS2008(VC++),按照网上的配置方式配置折腾了许久才成功,整理在此,希望能够给其他人带来方便。

    ===== 下载OPENGL库 ======

    可以到OpenGL官网下载。GLUT并不是OpenGL所必须的,但会给我们的学习带来一定的方便,推荐安装。 http://www.opengl.org/resources/libraries/glut/

    然后将以下文件分别放到对应目录(可能没有GL文件夹,可以自己创建一个)。

    glut.h
    glu.h
    gl.h

    C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\GL


    glut.32.lib

    C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib

    glut32.dll
    glu32.gll
    C:\WINDOWS\system32

     

    ===== 样例测试 =====

    以上设置完毕后,可以使用如下样例测试:hello.c(以下样例来自《OPENGL编制指南》,俗称红宝书,opengl开发必看书籍)

     1 /*
     2  * hello.c
     3  * This is a simple, introductory OpenGL program.
     4  */
     5 #include <GL/glut.h>
     6 #include <stdlib.h>
     7 
     8 void display(void)
     9 {
    10 /* clear all pixels  */
    11    glClear (GL_COLOR_BUFFER_BIT);
    12 
    13 /* draw white polygon (rectangle) with corners at
    14  * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)  
    15  */
    16    glColor3f (1.0, 1.0, 1.0);
    17    glBegin(GL_POLYGON);
    18       glVertex3f (0.25, 0.25, 0.0);
    19       glVertex3f (0.75, 0.25, 0.0);
    20       glVertex3f (0.75, 0.75, 0.0);
    21       glVertex3f (0.25, 0.75, 0.0);
    22    glEnd();
    23 
    24 /* don't wait!  
    25  * start processing buffered OpenGL routines 
    26  */
    27    glFlush ();
    28 }
    29 
    30 void init (void) 
    31 {
    32 /* select clearing color     */
    33    glClearColor (0.0, 0.0, 0.0, 0.0);
    34 
    35 /* initialize viewing values  */
    36    glMatrixMode(GL_PROJECTION);
    37    glLoadIdentity();
    38    glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
    39 }
    40 
    41 /* 
    42  * Declare initial window size, position, and display mode
    43  * (single buffer and RGBA).  Open window with "hello"
    44  * in its title bar.  Call initialization routines.
    45  * Register callback function to display graphics.
    46  * Enter main loop and process events.
    47  */
    48 int main(int argc, char** argv)
    49 {
    50    glutInit(&argc, argv);
    51    glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
    52    glutInitWindowSize (250, 250); 
    53    glutInitWindowPosition (100, 100);
    54    glutCreateWindow ("hello");
    55    init ();
    56    glutDisplayFunc(display); 
    57    glutMainLoop();
    58    return 0;   /* ANSI C requires main to return int. */
    59 }
    60 

    ===== 建工程 =====

    1. 文件->新建->项目->Visual C++->win32控制台应用程序。
    2. 输入项目名称:比如demo,其他默认。
    3. VS启动项目向导,选择下一步,选择空项目,其他默认,点击完成。
    4. 在解决方案资源管理器中,右键源文件,添加现有项,导入刚写好的hello.c文件。
    5. 按F7生成解决方案,按F5启动调试。
     
    ===== 可能遇到的问题 =====
    编译期间可能会出现如下错误:
    error LNK2019: 无法解析的外部符号 __imp____glutCreateWindowWithExit@8,该符号在函数 _glutCreateWindow_ATEXIT_HACK@4 中被引用
    解决办法:在glut.h文件中添加如下定义:
    #define GLUT_DISABLE_ATEXIT_HACK
     
    OK,Enjoy!
     

    OPENGL官方网站:http://www.opengl.org/

  • 相关阅读:
    Atitit.eclise的ide特性-------abt 编译
    Atitit.eclise的ide特性-------abt 编译
    Atitit python3.0 3.3 3.5 3.6 新特性 Python2.7新特性1Python 3_x 新特性1python3.4新特性1python3.5新特性1值得关注的新特性1Python3.6新特性2  Python2.7新特性Python 2.7的新特性
    Atitit python3.0 3.3 3.5 3.6 新特性 Python2.7新特性1Python 3_x 新特性1python3.4新特性1python3.5新特性1值得关注的新特性1Pyth
    Atitit intellij idea的使用总结attilax
    Atitit.eclipse 4.3 4.4  4.5 4.6新特性
    Atitit.eclipse 4.3 4.4  4.5 4.6新特性
    Atitit.eclipse 4.3 4.4  4.5 4.6新特性
    Atitit 软件国际化原理与概论
    Atitit 软件国际化原理与概论
  • 原文地址:https://www.cnblogs.com/yuyan/p/2700842.html
Copyright © 2011-2022 走看看