一:下載VS2019
官網下載社區版
二:下載GLEW、GLFW
百度網盤地址:
鏈接:https://pan.baidu.com/s/1Uvz9svdnVRvDXNHjVgApig
提取碼:rsgp
三:創建項目並進行配置
1 創建新項目:文件——》新建——》項目——》空項目(注意項目存儲位置以及項目名稱英文名字)
2 創建main.cpp主文件:解決方案資源管理器——》源文件——》添加——》新建項——C++文件
3添加include文件:右鍵項目名稱——》屬性——》C\C++——》常規——》附加包含目錄——》編輯——》點擊添加頭文件——》分別添加glew、glfw文件夾下的include文件夾——》完成后依次點擊確定
4 添加lib文件:右鍵項目名稱——》屬性——》鏈接器——》常規——》附加庫目錄——》編輯——》分別添加glew文件夾下lib\release\win32和glfw文件夾下lib-vc2019(版本與自己VS版本保持一致)
5 添加庫依賴項:右鍵項目名稱——》屬性——》鏈接器——》輸入——》附加依賴項——》編輯——》輸入如下內容:
opengl32.lib
glfw3.lib
glew32s.lib
——》最后確定
6 程序調試:
在main.cpp中粘貼如下代碼:
#define GLEW_STATIC
#include <stdio.h>
#include <stdlib.h>
#include <GL/glew.h>
#include <GLFW/glfw3.h>
char szTitle[64] = "opengl tutorial 001-color triangle";
static void error_callback(int error, const char* description)
{
fputs(description, stderr);
}
static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods)
{
if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
glfwSetWindowShouldClose(window, GL_TRUE);
}
int main(void)
{
GLFWwindow* window;
glfwSetErrorCallback(error_callback);
if (!glfwInit()) return -1;
window = glfwCreateWindow(512, 400, szTitle, NULL, NULL);
if (!window)
{
glfwTerminate();
exit(EXIT_FAILURE);
}
glfwMakeContextCurrent(window);
glfwSetKeyCallback(window, key_callback);
glewExperimental = GL_TRUE;
glewInit();
while (!glfwWindowShouldClose(window))
{
float ratio;
int width, height;
glfwGetFramebufferSize(window, &width, &height);
ratio = width / (float)height;
glViewport(0, 0, width, height);
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-ratio, ratio, -1.f, 1.f, 1.f, -1.f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glRotatef((float)glfwGetTime() * 50.f, 1.f, 0.f, 0.f);
glBegin(GL_TRIANGLES);
glColor3f(1.f, 0.f, 0.f);
glVertex3f(-0.6f, -0.4f, 0.f);
glColor3f(0.f, 1.f, 0.f);
glVertex3f(0.6f, -0.4f, 0.f);
glColor3f(0.f, 0.f, 1.f);
glVertex3f(0.f, 0.6f, 0.f);
glEnd();
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwDestroyWindow(window);
glfwTerminate();
return 0;
}
然后點擊運行,觀察錯誤列表反應的庫沖突,解決庫沖突。
解決方法:右鍵項目名稱——》屬性——》輸入——》忽略特定默認庫——》編輯:輸入沖突的庫名稱:例如可能是:
MSVCRT.lib
LIBCMT.lib
有什么編輯什么
——》依次確定,再次運行,大功告成!!!