分享

Win8+VS2012配置OpenGL SuperBible的环境

 小乙vk 2014-11-05

Win8+VS2012配置OpenGL SuperBible的环境

这本书逆天,逆天,逆天啊............环境我都配不起来,Linux下前几天折腾了一个晚上,作者的库各种报错.........今天在Windows下配,StackOverflow刷到爆,看了一篇又一篇,试了一次又 一次,屡败屡战....................
(ps:这篇文章不是我写的。。。配置过程大体如此,前期自己配置了一上午,木有成功,中午又折腾了一会,妈蛋,最后才发现忘了吧lib加进代码里了,#program comment(lib,"gltool.lib")!!! 或者附加依赖里加进去就好了。。。T T )

完整记录下配置过程:

参考自:

http:///questions/9234664/how-to-install-glut-on-a-64-bit-windows-7-for-ms-vs2010

http://blog.csdn.net/joven0/article/details/7639715

http://blog.csdn.net/sunny_unix/article/details/8056807

http://blog.csdn.net/longxiaoshi/article/details/7596135

1.各种库的配置

(1)glew

下载:https:///projects/glew/files/glew/

CSDN的那哥们的原文直接给了一个下载链接,但是那个是错的!!!

应该在列表里找1.7版本(别的新版本我没有测试,不过估计会报错),文件名有win32或者win64的

将include文件夹下的.h文件拷贝到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\GL目录中(没有GL目录就自己创建一个,这里的具体路径视电脑上VS2012安装的位置而定)
将lib文件夹下的.lib文件拷贝到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib目录中
将bin文件夹下的.dll文件拷贝到C:\Windows\System32目录中

注意!如果是64位的操作系统,要往C:\Windows\SysWOW64里面放!!!

(2)glut

 

下载OpenGL的glut类库:http://www./resources/libraries/glut/glutdlls37beta.zip

将.h文件拷贝到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\GL目录中(没有GL目录就自己创建一个,这里的具体路径视电脑上VS2008安装的位置而定)
将.lib文件拷贝到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib目录中
将.dll文件拷贝到C:\Windows\System32目录中(64位不在这)

2.测试

(1)先创建一个Win32控制台应用程序项目(文件——新建——项目——win32——win32控制台应用程序),在下面的名称处任意命名,假定是helloworld,然后点确定。之后点下一步,然后在附加选项的空项目之前打勾,之后点完成。

(2)在解决方案管理器的源文件文件夹上点右键,添加——新建项——c++文件,任意命名,假定是Hello。

在导航窗格中的源文件分类下的Hello.cpp中输入如下代码:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <windows.h>   //这个必不可少
#include <gl/glut.h>
                            
void display()
{
                            
    glClear(GL_COLOR_BUFFER_BIT);
                            
    glColor3f(1.0,1.0,1.0);
                            
    glBegin(GL_POLYGON);
                            
    glVertex3f(0.25,0.25,0.0);
                            
    glVertex3f(0.75,0.25,0.0);
                            
    glVertex3f(0.75,0.75,0.0);
                            
    glVertex3f(0.25,0.75,0.0);
                            
    glEnd();
                            
    glFlush();
                            
}
                            
                            
                            
void init()
{
                            
    glClearColor(0.0,0.0,0.0,0.0);   //以黑色清屏
                            
    glMatrixMode(GL_PROJECTION); //glMatrixMode - 指定哪一个矩阵是当前矩阵
                            
    //GL_PROJECTION,对投影矩阵应用随后的矩阵操作
                            
    glLoadIdentity();               //该函数的功能是重置当前指定的矩阵为单位矩阵
                            
    glOrtho(0.0,1.0,0.0,1.0,-1.0,1.0);
                            
}
                            
                            
                            
int main(int argc,char** argv)
{
    glutInit(&argc,argv);
                            
    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
                            
    glutInitWindowSize(250,250);
                            
    glutInitWindowPosition(100,100);
                            
    glutCreateWindow("Hello OpenGL");
                            
    init();
                            
    glutDisplayFunc(display);
                            
    glutMainLoop();
                            
    return 0;
                            
}

如果人品好,就会出现下面这个:


下载作者的SB5.zip文件(名字真好。。),在这里http://www./files/SB5.zip

SB5.rar解压后将SB5\Src\GLTools\include的头文件放到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\中。

将SB5\VisualStudio2008\GLTools\Release中的gltools.lib放到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib中

然后把freeglut.lib同样操作

貌似就这些,遇到问题再补充..

 

。。。上面的例子能跑了,但是书上的例子还是不能运行,链接错误。。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多