VS2012通过makefile编译OpenGL红宝书的示例代码

>

通过创建新VC项目,然后设置一堆属性,对于懒人来说还是太复杂了。既然它自带了makefile,可以尝试下使用nmake。

需要注意的是VS2012的安装目录里面已经没有GL的头文件和库文件。这个改动应该在VS2010或者更早就已经采用了。

现在有了VS SDK。VS2010自动的SDK目录是C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A,更高的版本可能使用v8.0、v8.0A,反正都在这个目录下面。这个目录下面有include、lib文件夹。lib文件根据平台不同可能还有子文件以便区分。

在命令行中执行set命令,看看include和libpath环境变量是否指向的正确的路径。检查完毕,我们可以开始了。

1. 到OpenGL的官网上去下载示例代码: http://www.opengl.org/archives/resources/code/samples/redbook/。解压目录为\redbook。

2. 到GLUT上去下载编译好的Winowds平台上的二进制文件:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip。解压目录为\glut37。

3. 修改\redbook下的Makefile.win文件。

修改

LLDLIBS    = $(lflags) $(ldebug) glut.lib glu.lib opengl.lib $(guilibs)

LLDLIBS    = $(lflags) $(ldebug) glut32.lib glu32.lib opengl32.lib $(guilibs)

修改

default    : $(EXES)

default    : $(TARGETS)

4. 如果提示找不到win32.mak。自己尝试找一份。我是从VS2010的SDK目录C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include中拷贝了一份到\redbook中。

5. 将\glut37\glut.h拷贝一份到编译器include路径下的GL目录中。我的是D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\gl,自己创建的。

6. 将\glut37\glut.lib和\glut37\glut32.lib拷贝到编译器lib路径下。我的是D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib。

7. 在Visual Studio 2012命令提示符下输入nmake /f Makefile.win,回车。

8. 开始输出编译信息,类似于:

cl -c -DCRTAPI1=_cdecl -DCRTAPI2=_cdecl -nologo -GS -D_X86_=1 -DWIN32 -D_WIN32 -W3 -D_WINNT -D_WIN32_WINNT=0x0500 -DNTDDI_VERSION=0x05000000 -D_WIN32_IE=0x0500 -DWINVER=0x0500 -Zi -Od -DDEBUG -DWIN32 aaindex.c

aaindex.c

link -out:aaindex.exe aaindex.obj /INCREMENTAL:NO /NOLOGO /DEBUG /DEBUGTYPE:cv glut32.lib glu32.lib opengl32.lib kernel32.lib ws2_32.lib mswsock.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib

9. 编译完成。就可以在\redbook目录下看到生成出来的exe文件了。

参考: VS2005编译OpenGL红宝书示例代码 http://www.cnitblog.com/buf/archive/2011/03/02/72909.html

VS2012通过makefile编译OpenGL红宝书的示例代码

时间: 2024-08-06 09:58:03

VS2012通过makefile编译OpenGL红宝书的示例代码的相关文章

OPENGL 红宝书实验笔记

第一个程序triangles的配置过程,原文链接. OpenGL的东西快忘光了,把角落的第八版红宝书拿出来复习一下 从书中的地址下了个示例代码结果新系统(Win10+VS2015)各种跑不起来,懊恼之后在网上疯狂搜索资料终于跑起来了,记录一下 一.环境搭建指南 书中的地址 http://www.opengl-redbook.com/ 去这里打包下载OpenGL红宝书的示例代码,解压后是这样 虽然没有第一章的代码但第一章的内容好歹算一个完整的例子,网上各种环境搭建教程也都以第一章的代码为例,我们就

【转载】关于在vs2013中配置opengl红宝书第八版环境

 本文为转载 原文地址 http://blog.csdn.net/qq821869798/article/details/45247241 本人刚开始学习opengl,买了一本opengl红宝书第八版, 第一个例子研究了一段时间终于可以运行了,不知道有没有童鞋跟我遇到一样的问题. 下面说说我怎么配置的: 首先去 http://www.opengl-redbook.com/ 下载红宝书的源代码,解压得到这个 然后打开vs2013新建一个空的win32控制台项目, 然后点项目右键属性,点击vc++目

OpenGL红宝书附带源码编译问题集锦

以下所有源码均在win7,VS2008环境下测试.下不再赘述. 1.所有的.c扩展名请改为.cpp扩展名,以避免不可预测的错误. 想知道会出现什么不可预测的错误..请见我上一篇Blog... 2.如果有的文件无法识别标示符,在头文件部分加上#include <glext.h>这是因为部分特性从gl库中移除到其他扩展库了.比如glext,glew,都是扩展库. 3.blendeqn在头文件部分加上#include <glext.h> PFNGLBLENDEQUATIONPROC gl

[OpenGL红宝书]第一章 OpenGL概述

第一章 OpenGL概述 标签(空格分隔): OpenGL 第一章 OpenGL概述 1 什么是OpenGL 2 初识OpenGL程序 3 OpenGL语法 4 OpenGL渲染管线 41 准备向OpenGL传输数据 42 将传输数据到OpenGL 43 顶点着色 44 细分着色 45 几何着色 46 图元装配 47 剪切 48 光栅化 49 片元着色 410 逐片元的操作 5 第一个程序深入分析 51 进入main函数 52 OpenGL的初始化过程 初始化顶点数组对象 分配顶点缓存对象 将数

OpenGL红宝书学习笔记(1)

OpenGL对场景中的图像进行渲染时所执行的主要操作: 1.根据几何图元创建形状,从而建立物体的数学描述,(OpenGL把点,直线,多边形和位图作为基本的图元) 2.在三维空间中排列物体,并选择观察复合场景中的视角 3. 计算所有物体的颜色.颜色可以由应用程序明确指定,可以根据特定的光照条件确定,也可以通过把纹理贴到物体的表面而获得,或者是上述三种操作的混合产物, 这些操作可能使用着色器来执行,这样可以显式的控制所有的颜色计算,或者可能使用OpenGL的预编程算法在其内部执行(我盟常用术语固定功

熬了多少个夜晚,大家期待的《网络工程师思科华为华三实战案例红宝书》即网工必备技术命令大全版本1完书

熬了多少个夜晚,最近也没空更新博客.军哥编写的大家期待的<网络工程师思科华为华三实战案例红宝书>即网工必备技术命令大全版本1完书,一本融合了思科华为华三的实战型辅导书(辅助乾颐堂QCNA课程的).不多说上图 目录关于作者 2本书读者和笔者心语 3本书内容和结构 4第1部分 网络实施基础 15案例0 模拟器的部署和连接管理 16学习利器模拟器简书 160.1 华为模拟器Ensp部署 160.2 思科模拟器EVE部署 310.3 部署SecureCrt管理网络设备 400.3.1 部署终端管理软件

opengl编程指南 第七版 源码有bug Page35 lines.c 红宝书

问题1:当我照着源码敲进去的时候发现,运行的结果不对.哪里不对?源码中没有glPushAttrib(GL_LINE_STIPPLE) glPopAttrib().所以会出现每次更新点画线时在下一次绘制时会以最后一次设置的信息重绘而覆盖掉之前已绘制好的点线.所以要进行状态压栈处理和谈栈处理,这样子在刷帧重绘才不会影响其他帧的绘制结果.(原因是什么目前我也不清楚,估计是状态机的管理问题.要了解内部的绘制机制才行.)但是每次手动添加压栈和弹栈太麻烦了,所以我处理C_style的宏定义形式去实现 问题2

opengl编程指南 第七版 源代码bug Page35 lines.c 红宝书

问题1:根据源代码时,我发现的时候去敲门.不正确实施效果.哪里是不正确?没有源代码glPushAttrib(GL_LINE_STIPPLE) glPopAttrib().所以会出现最后的下一次抽奖提供的资料重绘每次更新的虚线时间前覆盖已制定好点线.和谈栈处理,这样子在刷帧重绘才不会影响其它帧的绘制结果.(原因是什么眼下我也不清楚,预计是状态机的管理问题.要了解内部的绘制机制才行. )可是每次手动加入压栈和弹栈太麻烦了,所以我处理C_style的宏定义形式去实现 问题2:reshape的操作屏蔽掉

《移动互联网创业必修课》创业者的红宝书

小猪飞飞众创空间创始人孙洪鹤(洪帮主)主编的<移动互联网创业必修课>即将上市,做为创业者的我深有感悟:如今这个时代,创客们太需要这样一本可以指导自己的教材和指南针. 正如狄更斯在他的<双城记>中所说:“这是最好的时代,这是最坏的时代.” 风云诡谲的21世纪当下这个时代,正处于这样一个当口. 这是一个最好的时代,众多传统企业在互联网飓风下摇摇欲坠,所有人面临的是一个前所未有的行业大洗牌,创业平台高高筑起,创业机会多如牛毛:这是一个最坏的时代,竞争残酷而激烈,客户严苛而善变,失败与泄气