VS2015 OpenGL环境配置

1、下载相关库文件源码:

freeglut3.0:http://sourceforge.net/projects/freeglut/
glew: http://glew.sourceforge.net/
或者直接下载我打包好的库:http://download.csdn.net/download/baidu_33850454/10255634

注意

1、VS的安装路径不能包含中文
2、编译 freeglut3.0时freeglut.dll的路径为bin/release/freeglutd.dll的路径为bin/Debug/
3、使用时应该先包含glew.h再包含freeglut.h,否则报错
4、在使用VS编译库时要分别选择Debug和release版生成解决方案,才能获得debug版和release版的库,如果只存在release版本的库,不小心使用debug运行时会保存找不到库

编译freeglut-3.0.0

参考链接:
http://blog.csdn.net/sugar13/article/details/46334077《使用CMake编译freeglut-3.0.0的静态库》
http://blog.csdn.net/yinglang19941010/article/details/50166343 《vs2013 配置 freeglut3.0(opengl的窗口系统库)》
http://blog.csdn.net/zhuxiaoyang2000/article/details/49158965《使用VS2015编译FreeGLUT、GLEW》

没有CMake先安装CMake: https://cmake.org/files/v3.10/cmake-3.10.2-win64-x64.msi
这里写图片描述
这里写图片描述
0、先后点击configure、Generate、Open Project
1、右键解决方案,编译项目;
2、复制include中的GL、bin/release/中的freeglut.dll,和lib/目录下的freeglut.lib,freeglutd.lib到指定文件夹
(1)将头文件“freeglut.h”,“freeglut_ext.h”,“freeglut_std.h”和“glut.h”搬至MSVC的包含目录,我的是“C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\GL”。
(2)将库文件“freeglut.lib”或“freeglut_static.lib”搬至MSVC的库目录,我的是“C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib”。
(3)将DLL文件“freeglut.dll”和“freeglutd.dll”(debug时使用)搬至“C:\Windows\System”。(32位系统需要复制到 “C:\Windows\System32”)
注:步骤(2)和(3)有时候不起作用,这时还是需要在项目属性中设置。

问题:

CMake Error at CMakeLists.txt:2 (PROJECT):
Failed to run MSBuild command:

MSBuild.exe

是vs版本选错了。我用的vs2015,所以我该选择Visual Studio 14 2015。14是vs版本号,vs14就是vs2015。而Visual Studio 15 2017是vs2017。

编译GLEW

进入build/vc12/目录,使用vs2015打开sln项目,会自动升级项目。分别使用debug和release版本生成解决方案。
复制相应的库到如上指定文件夹。

测试

// OpenGL1.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include <GL/freeglut.h>


/**
* 渲染回调函数
*/
void RenderScenceCB() {
    // 清空颜色缓存
    glClear(GL_COLOR_BUFFER_BIT);
    // 交换前后缓存
    glutSwapBuffers();
}

/**
* 主函数
*/
int main(int argc, char ** argv) {

    // 初始化GLUT
    glutInit(&argc, argv);

    // 显示模式:双缓冲、RGBA
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);

    // 窗口设置
    glutInitWindowSize(480, 320);      // 窗口尺寸
    glutInitWindowPosition(100, 100);  // 窗口位置
    glutCreateWindow("Tutorial 01");   // 窗口标题

                                       // 开始渲染
    glutDisplayFunc(RenderScenceCB);

    // 缓存清空后的颜色值
    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);

    // 通知开始GLUT的内部循环
    glutMainLoop();

    return 0;
}

这里写图片描述

猜你喜欢

转载自blog.csdn.net/baidu_33850454/article/details/79351765