Visual studio搭建OpenGL开发环境

Visual studio搭建OpenGL开发环境

资源准备:

glfw-opengl库:https://www.glfw.org/download.html,根据操作系统下载

visual studio

1、

将glfw解压出来,选择对应版本的lib-vc目录,进去,删除掉动态链接库,因为我们尚不需要动态链接

Visual studio搭建OpenGL开发环境_第1张图片

2、

用visual studio新建一个空项目,在目录中打开该项目,新建一个文件夹,用来存放依赖项,再在里面新建文件夹用来存放glfw库的内容

Visual studio搭建OpenGL开发环境_第2张图片

3、

将GLFW目录中的include文件夹和对应visual studio版本的lib-vc文件夹复制到项目中用来存放glfw库的目录

Visual studio搭建OpenGL开发环境_第3张图片

4、

将glfw.lib添加到visual studio的linker中,打开项目属性

Visual studio搭建OpenGL开发环境_第4张图片

设置库路径,利用visualstudio的宏$(SolutionDir)来表示当前项目目录,将项目中的GLFW的include目录包含进去

Visual studio搭建OpenGL开发环境_第5张图片

在linker中设置额外库路径,将项目中的GLFW的lib-vc目录包含进去

Visual studio搭建OpenGL开发环境_第6张图片

最后将input选项中的额外依赖项全部清空,添加glfw.3lib

Visual studio搭建OpenGL开发环境_第7张图片

按ctrl+f7查看是否配置成功

Visual studio搭建OpenGL开发环境_第8张图片

5、

虽然链接了glfw库,但还尚未完成,我们可以发现编译还不能通过,是因为我们前面清空了visual studio自带的额外依赖项,但这样做的原因是更深一步的理解编译器的链接,所以我们现在添加其他所需的依赖项

Visual studio搭建OpenGL开发环境_第9张图片

当我们使用外部库,但不知道缺少的是哪一个,可以根据错误信息来google以下,如下面的例子:

Visual studio搭建OpenGL开发环境_第10张图片

只需将@前面的内容google一下,因为我们一般使用的都是windows的系统接口,所以查看微软的官方文档

Visual studio搭建OpenGL开发环境_第11张图片

Visual studio搭建OpenGL开发环境_第12张图片

即可找到相应的库文件,最后再像前面一样添加到项目属性,linker选项的input中的额外依赖项中即可

6、

最后大功告成,用这段代码试试看8

#include 

int main(void)
{
	GLFWwindow* window;

	/* Initialize the library */
	if (!glfwInit())
		return -1;

	/* Create a windowed mode window and its OpenGL context */
	window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
	if (!window)
	{
		glfwTerminate();
		return -1;
	}

	/* Make the window's context current */
	glfwMakeContextCurrent(window);

	/* Loop until the user closes the window */
	while (!glfwWindowShouldClose(window))
	{
		/* Render here */
		glClear(GL_COLOR_BUFFER_BIT);

		glBegin(GL_TRIANGLES);
		glVertex2f(-0.5f, -0.5f);
		glVertex2f(0.5f, 0.5f);
		glVertex2f(0.5f, -0.5f);
		glEnd();

		/* Swap front and back buffers */
		glfwSwapBuffers(window);

		/* Poll for and process events */
		glfwPollEvents();
	}

	glfwTerminate();
	return 0;
}

最后的效果:
Visual studio搭建OpenGL开发环境_第13张图片

你可能感兴趣的:(c++,opengl,图形学,游戏开发)