OpenGL在VS2015环境下的配置

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

最近工作重新要用到OpenGL,还得是X64、Release版本的,就在VS2015下把环境重新配置了一下(VS2010、VS2013下同)。感觉现在OpenGL在VS环境下的配置已经非常容易了,完全没有以前那么多问题,毕竟程序都是逐渐完善的。

1.编译freeglut

Freeglut是需要用CMake来生成VS项目工程的。打开CMake进行设置,在where is the source code 设置下载好的freeglut源代码目录,where is build the binaries设置存放生成VS工程的目录。然后点击configure,第一次configure会让你选择编译器,选择适合相应的VS编译器就行了,如我选的vs2015,win64。如下图所示。

CMake设置

再次点击configure,直到没有红色选项。然后点击Generate就在生成目录下生成了sln工程文件。打开freeglut.sln,当普通的VS项目编译就行了。编译生成的.dll在bin目录,生成的.lib在lib目录,需要注意的是头文件在源代码目录的inlcude文件夹中。

这里写图片描述

2.编译glew

Glew的编译就更加简单了,在glew的源代码的build目录中就已经准备好了vs工程文件:

这里写图片描述

如果没有相应的vs版本(比如我用的vs2015),就直接找个最近的版本编译好了,其实vs2008以后的版本差距都不是太大,应该都是能直接编译的。编译好后.dll在bin目录,.lib在lib目录,头文件在include目录。

3.构建环境

新建一个控制台项目测试环境,代码如下:

#include "stdafx.h"
#include "GLTest.h"

#include <iostream>

#include <GL/glew.h>
#include <GL/freeglut.h>

using namespace std;

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

int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitWindowSize(500, 500);
    glutInitWindowPosition(140, 140);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);    
    glutCreateWindow("OpenGL Test!");

    if (glewInit() == GLEW_OK)
    {
        printf("glewInit OK!\n\n");
    }   
    printf("OpenGL version: %s\n", glGetString(GL_VERSION));
    printf("GLSL version: %s\n", glGetString(GL_SHADING_LANGUAGE_VERSION));

    glutDisplayFunc(&myDisplay);

    glutMainLoop();

    return 0;
}

首先将freeglut和glew的头文件放到同一个include文件夹,在工程右键——属性——C/C++——常规——附加包含目录中指到该文件夹。然后直接右键——添加——现有项中添加刚生成的.lib文件。这样测试项目就可以编译了。最后找到测试项目生成exe文件目录,将需要的.dll放入其中就可以运行了。运行结果如下:

运行结果

注意编译freeglut和glew的环境和调用环境一定要要对应好,64位程序就调用64位的dll,realse版本就调用realse的dll,否则可能出错。

猜你喜欢

转载自blog.csdn.net/charlee44/article/details/51812028