您的位置:首页 > 编程语言

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

2016-04-11 21:08 477 查看
通过创建新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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: