脑子抽风把原来的VS2013卸载了,然后进入了漫漫无期的VS的重新安装的路途,从VS2017到VS2015各种尝试,各种出错,整个人都给跪了,两天终于安装好了,于是重新配置了Opengl环境开始图形学的实验。但是明明按着老师教程路线走的我还是出现了问题。先 整理一下配置步骤
步骤
- “盘符(如C:)\Program Files\Microsoft Visual Studio 9.0\VC\include\GL文件夹”。(这个看自己的安装的目录,我的是D:\visual studio\VC\include\GL,以下路径照此)把解压得到的glut.h放到这个GL文件夹里。没有GL文件夹可以自己建一个。
- “盘符(如C:)\Program Files\Microsoft Visual Studio 9.0\VC\lib文件夹”。把解压得到的glut32.lib放到静态函数库所在文件夹,即lib文件夹。
- 把解压得到的glut32.dll放到操作系统目录下面的system文件夹内。(典型的位置为:C:\Windows\System32)这是非常重要的动态链接库设置!
但是这个地方有时候还是会出现问题,计算机中丢失glut.dll
解决了好久,后来在SysWoW64的目录下都加上了glut32.dll和glut.dllj久把问题解决了哈哈哈哈。
- 在VS2015开发环境下编辑和运行OpenGL程序: 创建一个VC++工程:
启动VS2015系统,创建一个 Win32 Console Application类型的工程文件,输入工程名,选择创建一个“a Simple Application”(以如下创建的为例,工程名为simpleGL) - 配置环境
工程(project) -- 属性(Properties) --链接器(Linker) -- 输入(Input) -- 附加依赖项(Additional Dependencies)添加 opengl32.lib glu32.lib glut32.lib - 创建一个最简单的OpenGL程序:
(a) 在stdafx.h文件中加入:
#include <windows.h>//包括大部分的Win32 API函数,以及一些Win32宏
#include <GL/glut.h> //包含GL头文件
(b) 在工程主程序中加入如下程序:(以simpleGL程序为例,在simpleGL.cpp中)
<pre>
// OpenGlExample.cpp : 定义控制台应用程序的入口点。
include "stdafx.h"
void RenderSence() // 本程序的回调函数,绘制场景设置
{
glClear(GL_COLOR_BUFFER_BIT);// 清除屏幕及深度缓存设置
glBegin(GL_POLYGON);//设置画多边形
glVertex2f(-0.5, -0.5);
glVertex2f(-0.5, 0.5);
glVertex2f(0.5, 0.5);
glVertex2f(0.5, -0.5);
glEnd(); //设置画多边形结束
glFlush(); //强制系统立刻在屏幕上显示输出图形
}
int main(int argc, char* argv[])
{
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInit(&argc, argv); // 初始化OPENGL
glutCreateWindow("Simple"); //建立窗口,并设置窗口标题
glutDisplayFunc(RenderSence); //调用回调显示函数
glutMainLoop(); //主函数循环
return 0;
}
</pre>
- 讲道理这样就可以点击运行了,应该就能成功运行了但是我的还是出现了问题 **错误 LNK2019 无法解析的外部符号 __imp____glutCreateWindowWithExit@ **
查了好久。后来在属性->链接器->输入->附加依赖项里面添加legacy_stdio_definitions.lib即可。看了网上的教程说出现这个问题的原因是vs2015默认编译时将许多标准库采用内联方式处理,因而没有可以链接的标准库文件,所以要专门添加标准库文件来链接标准库中的函数。但是我也不是很明白,但是问题还是解决了 -
最后点击运行,成功出来这个正方形的时候天知道我有多感动
我是陈柳娟,让我们一起做个快乐的人
网友评论