VC6.0和VS2008的OpenGL环境配置

OpenGLVS2008下环境配置

1.具体配置过程:

(1)、将.h文件拷贝到C:\ProgramFiles\Microsoft Visual Studio 9.0\VC\include\GL目录中(没有GL目录就自己创建一个)。一般根据需要包含就行了,但为了一次性解决问题避免以后再次去配置包含,此处我们将所有的.h文件包含进来。

(2)、将.lib文件拷贝到C:\ProgramFiles\Microsoft Visual Studio 9.0\VC\lib目录中

(3)、将.dll文件拷贝到C:\Windows\System32目录

(4)、设置包含文件:工具-选项-项目和解决方案-VC++目录:在“显示以下内容的目录”中选择“包含文件”,在下面的空白行尾部单击浏览按钮选择(1)中的路径,注意:如果路径包含到GL一层在以后代码的头文件包含中就可以省略GL即#include <glut.h>。如果路径包含到Include一层在以后代码的头文件包含中需要额外多添加一层GL路径即#include <gl\glut.h>。本次设置对所有的VS2008项目都适用。

(5)、设置连接库:如果未进行(4)的设置的话,需要进行本次设置,并将所有的.lib文件拷贝到当前项目下面,本次设置只适用于当前项目。项目-属性(快捷键ALT+F7) -配置属性-连接器-输入-附加依赖项中加入opengl32.libglu32.lib GLAUX.LI glut32.lib glut.lib。注意用空格隔开各*.lib。

2. VS2008具体示例:

(1)、新建工程:菜单-文件-新建-项目-Visual C++-Win32控制台应用程序-工程名-确定-空项目-完成。

(2)、加入源文件:解决方案资源管理器中的源文件点击右键-添加-新建项-C++文件-输入名称-确定。编写代码如下:

#include "stdafx.h"

#include <GL/glut.h>

void myDisplay(void)

{

       glClear(GL_COLOR_BUFFER_BIT);

       glRectf(-0.5f, -0.5f, 0.5f,0.5f);

       glFlush();

}

int _tmain(int argc, char* argv[])

{

       glutInit(&argc,argv);

       glutInitDisplayMode(GLUT_RGB| GLUT_SINGLE);

       glutInitWindowPosition(100,100);

       glutInitWindowSize(400,400);

       glutCreateWindow("第一个OpenGL程序");

       glutDisplayFunc(&myDisplay);

       glutMainLoop();

       return 0;

}

(3)、编译连接运行:该程序的作用是在一个黑色的窗口中央画一个白色的矩形。

OpenGLVC6.0下环境配置

1.具体配置过程:

(1)、将.h文件拷贝到C:\ProgramFiles\Microsoft Visual Studio\VC98\Include\GL目录中(没有GL目录就自己创建一个)。

(2)、将.lib文件拷贝到C:\ProgramFiles\Microsoft Visual Studio\VC98\LIB

(3)、将.dll文件拷贝到C:\Windows\system32

(4)、设置包含文件:Tools-Options-Directories:在“Show directories for”中选择“Include files”,在下面的空白行尾部双击浏览按钮选择(1)中的路径,注意:如果路径包含到GL一层在以后代码的头文件包含中就可以省略GL即#include <glut.h>。如果路径包含到Include一层在以后代码的头文件包含中需要额外多添加一层GL路径即#include <gl\glut.h>。本次设置对所有的VC6.0项目都适用。

(5)设置连接库:如果未进行(4)的设置的话,需要进行本次设置,并将所有的.lib文件拷贝到当前项目下面,本次设置只适用于当前项目。Project-Settings(快捷键ALT+F7) –Link页面的Object/Library modules中加入opengl32.lib glu32.lib GLAUX.LI glut32.lib glut.lib。注意用空格隔开各*.lib。

(6)隐藏vc控制台程序的命令行窗口:只需要在visual c++中main函数入口前加入如下控制编译器命令,就OK啦!
#pragma comment( linker, "/subsystem:\"windows\"/entry:\"mainCRTStartup\"" )

2. VC6.0具体示例:

(1)、新建工程:菜单-文件-新建-工程-Win32 Console Application-工程名-确定-一个空工程-完成。

(2)、加入源文件:菜单-文件-新建-文件-C++ Source File-文件名-确定。编写代码:

#include<GL/glut.h>

#pragma comment( linker, "/subsystem:\"windows\"/entry:\"mainCRTStartup\"" )

void myDisplay(void)

{

         glClear(GL_COLOR_BUFFER_BIT);

         glRectf(-0.5f, -0.5f, 0.5f,0.5f);

         glFlush();

}

int main(intargcchar *argv[])

{

         glutInit(&argcargv);

         glutInitDisplayMode(GLUT_RGB GLUT_SINGLE);

         glutInitWindowPosition(100,100);

         glutInitWindowSize(400,400);

         glutCreateWindow(第一个OpenGL程序");

         glutDisplayFunc(&myDisplay);

         glutMainLoop();

         return 0;

}

(3)、编译连接运行:该程序的作用是在一个黑色的窗口中央画一个白色的矩形。

 

另外:

(1)openGL有一个glut库能支持更快的开发openGL程序,里面包含了glut.h glut.lib glut.dll glut32.lib glut32.dll。本来OpenGL程序一般还要包含<GL/gl.h><GL/glu.h>,但glut的头文件中已经自动将这两个文件包含了,不必再次包含。glut库中的文件按如下处理:

.dll文件:复制到windows/system32
.lib
文件:如果是VC6.0,复制到 */VC98/Lib 中;如果是VS2008,复制到 */VC/lib 
glut.h
  如果是VC6.0,复制到 */VC98/include/gl 中;如果是VS2008,复制到 */VC/include/gl (没有gl目录就新建一个
(2)如何解决vc6.0下链接错误 
error LNK2001:unresolved external symbol ___glutInitWithExit@12

opengl的一个link的问题,本来整个工程很正常的,一段时间后再次打开,可能是我动了某些库文件和工程配置,报出如下错误。

1>Linking...

1>Main.obj: error LNK2001: unresolved external symbol ___glutInitWithExit@12
1>Main.obj : error LNK2001: unresolved external symbol ___glutCreateWindowWithExit@8

1>.\Debug/3DAlignment.exe : fatal errorLNK1120: 2 unresolved externals

解决方法是: 在main.c 的 #include <GL/glut.h>之前添加 #define GLUT_DISABLE_ATEXIT_HACK 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值