码迷,mamicode.com
首页 > 其他好文 > 详细

VS15 openGL 编程指南 配置库 triangle例子

时间:2018-04-07 01:06:04      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:book   ext   _MSC_VER   下拉   failure   新建   context   ifd   很多   

最近去图书馆借了一本书《OpenGL编程指南(原书第八版)》,今天倒腾了一天才把第一个例子运行出来。

所以,给大家分享一下,希望能快速解决配置问题。

 

一、下载需要的库文件

首先,我们需要去该书的网站中下载相关的配置文件,书中给的是“红宝书”的官方网址:http://www.opengl-redbook.com/

但现在已经更新至第九版,里面的库不是很完整,不适宜用于此书示例。

所以我们要找一个第八版的资源:http://pan.baidu.com/s/1kVpv1MR

下载完之后,我们先把main函数做一些修改,因为,原书的代码有点不完整

 

int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGBA);
    glutInitWindowSize(512, 512);
    glutInitContextVersion(4, 3);
    glutInitContextProfile(GLUT_CORE_PROFILE);
    glutCreateWindow(argv[0]);

    glewExperimental = GL_TRUE;            //添加
    if (glewInit()) {
        cerr << "Unable to initialize GLEW ... exiting" << endl;
        exit(EXIT_FAILURE);
    }
    init();
    glutDisplayFunc(display);
    glutMainLoop();

}

 

还要在工程目录下创建两个文件

 triangles.frag

#version 430 core

out vec4 fColor;

void

main()

{

fColor = vec4(0.0, 0.0, 1.0, 1.0);

}

 

 triangles.vert

#version 430 core

layout(location = 0) in vec4 vPosition;

void

main()

{

gl_Position = vPosition;

}

 

二、配置相关的库

先展示一下刚刚下载的压缩文件

技术分享图片

 

其中include/GL/   下面是有9个文件的,很全。如果下载的是第九版的话那么就只有两个文件,不完整。

技术分享图片

 

确定文件齐全之后,我们开始配置相关的库。

在你的项目-》属性-》

技术分享图片

 

技术分享图片

 

在包含目录中添加进你下载的那个文件夹中的include目录:比如我的是:D:\新建文件夹\新建文件夹\新建文件夹\新建文件夹\openGL\oglpg-8th-edition\include

在库目录中添加进你下载的那个文件夹中的lib目录:比如我的是:D:\新建文件夹\新建文件夹\新建文件夹\新建文件夹\openGL\oglpg-8th-edition\lib

 

然后再把下面这个设置一下:

技术分享图片

这样在debug或rrelease编译模式下都能把libcmtd.lib这个库忽略掉

 

 

最后一点,VS2015更改了很多标准库的链接方式和宏定义,而红宝书第八版中用到的freeglut库中用到了这些标准库和宏。所以如果报_sscanf或者__iob_func是无法解析的外部符号之类的错误,你可以打开如下设置:

技术分享图片

 

点开那个下拉,如果你有低于15的版本,那么选那个低版本的,如果只有15版本的话,请往下看

来自:https://blog.csdn.net/csdn1027192411/article/details/52064732 的解决方案,如下:

技术分享图片

 

然后在工程的cpp文件首,插入如下代码即可

#if _MSC_VER>=1900
#include "stdio.h"
_ACRTIMP_ALT FILE* __cdecl __acrt_iob_func(unsigned);
#ifdef __cplusplus
extern "C"
#endif
FILE* __cdecl __iob_func(unsigned i) {
    return __acrt_iob_func(i);
}
#endif /* _MSC_VER>=1900 */

 

到现在应该就可以运行了。

技术分享图片

 

如果不想用提供的库,想要自己下载,也可以

这里有完整的OpenGL所需的库:https://www.cnblogs.com/zpcdbky/p/6724772.html

不过,第八版的资料里的include里面也很完整~

 

感谢您的阅读,生活愉快~

 

VS15 openGL 编程指南 配置库 triangle例子

标签:book   ext   _MSC_VER   下拉   failure   新建   context   ifd   很多   

原文地址:https://www.cnblogs.com/lv-anchoret/p/8729384.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!