- UID
- 4849
- 注册时间
- 2014-4-8
- 在线时间
- 小时
- 最后登录
- 1970-1-1
- 精华
- 阅读权限
- 40
- 听众
- 收听
|
Visual Studio 2019 配置 OpenGL
阅读原文Visual Studio 2019 配置 OpenGL,祝你获得更好的阅读体验。
1. 下载VS2019
去官网,选择 VS 2019 社区版进行下载。
2. 下载 GLEW
去官网,下载 Binaries Windows 32-bit and 64-bit。
3. 下载GLFW
去官网,下载 Windows pre-compiled binaries 32-bit(64 位会出现莫名其妙的问题)
4. 配置 OpenGL
4.1 新建 C++ 空项目
打开 vs2019,文件 —> 新建 -> 项目 -> 空项目 ,命名为 OpenGLExercise01
4.2 创建 main. cpp 源文件
右侧 解决方案资源管理器 下,源文件 —> 添加 —> 新建项 ,创建名为 main.cpp源文件
4.3 开始配置 OpenGL
4.3.1 添加 include 文件
- 右键项目 OpenGLExercise ,在弹出的选项中,单击 属性
- 点击 C/C++ —> 常规 —> 附加包含目录 —> 编辑
- 点击添加头文件。分别添加下载的 glew 和 glfw 文件夹下的 include 文件夹 (include 文件夹下是我们需要的头文件),点击 确定
4.3.2 添加 lib 文件
- 点击 链接器 —> 常规 —> 附加包含目录 —> 编辑
- 分别添加下载的 glew 和 glfw 文件夹下的 lib 文件夹。
- 当添加 glew 时,当选到 lib 文件夹后请继续选择,lib -> Release -> Win32 , 请选择 Win32 后点击 “选择文件夹”(x64 会有莫名其妙的问题)
- 当添加 glfw 时,请选择对应版本,2019 版本请选择 lib-vc2019
4.3.3 添加库依赖项
- 点击 链接器 —> 输入 —> 附加依赖项 —> 编辑
- 输入如下:
opengl32.lib
glfw3.lib
glew32s.lib
5. 程序调试
5.1 初步运行
在之前的 main.cpp 中添加如下代码:(即初始化一个 OpenGL 窗口)
#include<iostream>
#define GLEW_STATIC
#include <GL/glew.h>
#include<GLFW\glfw3.h>
using namespace std;
int main(int argc, char** argv[])
{
/*glewExperimental = GL_TRUE;
if (glewInit()!=GLEW_OK)
{
cout << &#34;failed to initalize GLEW&#34; << endl;
return -1;
}*/
glfwInit();//初始化
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);//配置GLFW
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);//配置GLFW
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);//
glfwWindowHint(GLFW_RESIZABLE, GL_FALSE);
GLFWwindow* window = glfwCreateWindow(800, 600, &#34;LearnOpenGL&#34;, nullptr, nullptr);
if (window==nullptr)
{
cout << &#34;Failed to create GLFW window&#34; << endl;
glfwTerminate();
return -1;
}
glfwMakeContextCurrent(window);
while (!glfwWindowShouldClose(window))
{
glfwPollEvents();
glfwSwapBuffers(window);
}
glfwTerminate();
return 0;
}
5.2 解决库冲突
当我们关掉程序回到 “错误列表” 中会发现
点击属性,找到“编辑”
输入如下:
MSVCRT.lib
LIBCMT.lib
最后,点击一下右下角的应用,再点击确定。
注:如果往后还有库冲突,解决方法同理。
5.3 解决引言中的链接错误
出现警告:glew32s.lib(glew.obj) : warning LNK4099: 未找到 PDB“vc120.pdb”(使用“glew32s.lib(glew.obj)”或在“F:\QinNian&#39;GitHub\Computer_Graphics\OpenGL_Learn\01_入门\01_OpenGL 环境配置\OpenGLExercise01\Debug\vc120.pdb”中寻找);正在链接对象,如同没有调试信息一样
如果确认不需要PDB, 即不需要调试开源库, 完全可以在设置里将/Zi或/ZI去掉, 这样即能消除warning也能提升开源库编译速度
将 glew 工程配置成不生成调试信息,或把调试信息直接生成到.obj文件中(而非.pdb文件)即可.
项目属性 --> 配置属性 --> C/C++ --> 常规 --> 调试信息格式
空表示不生成调试信息,
C7把调试信息直接生成到.obj文件中
默认的Zi生成.pdb文件
6. 写在最后
我哭了,终于弄好了!!!
|
|