VS2017配置OpenGL
试了好几个博客才最后配置成功,汇集了各方博客,
配置OpenGL
下载地址:
打开网址:https://www.opengl.org/resources/libraries/glut/glut_downloads.php#windows
点击 glutdlls37beta.zip即可下载。
配置 OpenGL
1、将下载的 glutdlls37beta.zip 解压可发现里面包含 glut.dll、 glut32.dll 、glut.lib 、glut32.lib 、glut.h 5个文件。
2、然后找到VS2017安装的目录,路径为D:\myVS\VC\Tools\MSVC\14.16.27023\include\(路径因人而异),创建一个名为gl的文件夹,并将解压到的glut.h文件复制其中。
3、再找到路径为 D:\myVS\VC\Tools\MSVC\14.16.27023\lib\x86,将解压到的glut.lib,glut32.lib复制其中。
4、最后把解压到的glut.dll和glut32.dll复制到C:\Windows\System32文件夹内(32位系统)
或C:\Windows\SysWOW64(64位系统)。以防万一,最好两个都放。
测试
打开VS2017,新建一个C++的Windows控制台应用程序的空项目,将如下代码粘贴:
#include <GL/glut.h>
void Show()
{
glClear(GL_COLOR_BUFFER_BIT);
glRectf(-0.1f, -0.1f, 0.5f, 0.5f);
glFlush();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(100, 100);
glutInitWindowSize(800, 600);
glutCreateWindow("小生OpenGL测试");
glutDisplayFunc(Show);
glutMainLoop();
return 0;
}
结果
成功!
下载GLFW
打开网址: http://www.glfw.org/download.html 下载32位版本
选择32-bit,这里不是按照电脑来选的,是按照vs里面的。
1、将glfw-3.2.1.bin.WIN32\include\GLFW 文件夹里的glfw3.h 文件复制到 C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\include\gl 中。
复制后:
2、将 glfw-3.2.1.bin.WIN32\lib-vc2015 中的 glfw3.lib、glfw3dll.lib 复制到C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\lib\x86文件夹里。
3、将glfw-3.2.1.bin.WIN32\lib-vc2015 文件夹里的 glfw3.dll 复制到 C:\Windows\System32 或C:\Windows\SysWOW64 里
下载GLAD(使用OpenGL函数)
1、打开网址: http://glad.dav1d.de/ 如图设置:
2、然后点击GENRATE
3、选中最后的压缩包下载
4、把include中所有的文件复制到C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\include 文件夹里。
5、 src 文件夹里glad.c 就好备用。回到VS,新建一个项目文件,将glad.c 复制到与源文件同一级目录下:
4、 打开项目属性开始各种配置:
常规->字符集,选择未设置
链接器->常规->附加库目录 添加OpenGL的库文件目录和自身的库文件目录
D:\myVS\VC\Tools\MSVC\14.16.27023\lib\x86
D:\myVS\VC\Tools\MSVC\14.16.27023\lib
7. 第一个OpenGL程序 首先创建工程,其步骤如下:
(1)创建一个Win32 Console Application。
(2)链接OpenGL libraries。在Visual C++中先右击项目,选择属性,找到连接器标签,最后在输入中的附加依赖库加上opengl32.lib;glut32.lib;glu32.lib.
现在你可以把下面的例子拷贝到工程中去,编译运行。
// ConsoleApplication1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include "pch.h"
#include <gl/glut.h>
void Initial(void)
{
glClearColor(1.0f, 1.0f, 1.0f, 1.0f); //设置窗口背景颜色为白色
glMatrixMode(GL_PROJECTION); //设置投影参数
gluOrtho2D(0.0, 200.0, 0.0, 200.0);
}
void Display(void)
{
glClear(GL_COLOR_BUFFER_BIT); //用当前背景色填充窗口
glColor3f(1.0f, 0.0f, 0.0f); //设置当前的绘图颜色为红色
glRectf(50.0f, 50.0f, 150.0f, 150.0f); //绘制一个矩形
glFlush(); //清空命令缓冲区,执行OpenGL程序
}
void main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); //初始化窗口的显示模式
glutInitWindowSize(400, 400); //设置窗口的尺寸
glutInitWindowPosition(100, 120); //设置窗口的位置
glutCreateWindow("矩形"); //创建一个名为矩形的窗口
glutDisplayFunc(Display); //设置当前窗口的显示回调函数
Initial(); //完成窗口初始化
glutMainLoop(); //启动主GLUT事件处理循环
}
你可以看到一个矩形。
参考博客:
https://blog.****.net/shengshengshiwo/article/details/83379668