1.openGL對(duì)應(yīng)的擴(kuò)展庫(kù)有,GLUT庫(kù)、GLEW庫(kù)、GLFW庫(kù)等,在這里我使用的是GLFW庫(kù),沒(méi)有使用GLUT庫(kù)(實(shí)在太老了其項(xiàng)目組已經(jīng)停止更新好多年,而且不怎么安全)。
2.首先去下載GLFW源文件?http://www.glfw.org/download.html?;
3.cd到下載的文件夾目錄下,進(jìn)行編譯命令 ?,依次執(zhí)行下面的兩條命令
<附帶cmake 安裝>
$ cmake .
$ make
4.編譯之后得到?/src/下面的?libglfw3.a?靜態(tài)庫(kù),同時(shí)生成include 下面對(duì)應(yīng)的GLFW下面兩個(gè)使用的頭文件。
5.新建一個(gè)項(xiàng)目,添加 GLFW 靜態(tài)庫(kù)的所依賴(lài)庫(kù)

6.并且把多余的文件刪除掉,同時(shí)引入GLFW的兩個(gè)頭文件。

7.新建一個(gè)main.cpp的C++文件,重新寫(xiě)下代碼:
#include <stdio.h>
#include <iostream>
#include "GLFW/glfw3.h"
voidRender(void)
{
? ? glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
? ? glClear(GL_COLOR_BUFFER_BIT);
? ? glBegin(GL_TRIANGLES);
? ? {
? ? ? ? glColor3f(1.0,0.0,0.0);
? ? ? ? glVertex2f(0,.5);
? ? ? ? glColor3f(0.0,1.0,0.0);
? ? ? ? glVertex2f(-.5,-.5);
? ? ? ? glColor3f(0.0,0.0,1.0);
? ? ? ? glVertex2f(.5, -.5);
? ? }
? ? glEnd();
}
intmain(intargc,constchar* argv[]) {
? ? GLFWwindow* win;
? ? if(!glfwInit()){
? ? ? ? return-1;
? ? }
? ? win =glfwCreateWindow(640, 480, "OpenGL Base Project", NULL, NULL);
? ? if(!win)
? ? {
? ? ? ? glfwTerminate();
? ? ? ? exit(EXIT_FAILURE);
? ? }
? ? glfwMakeContextCurrent(win);
? ? while(!glfwWindowShouldClose(win)){
? ? ? ? Render();
? ? ? ? glfwSwapBuffers(win);
? ? ? ? glfwPollEvents();
? ? }
? ? glfwTerminate();
? ? exit(EXIT_SUCCESS);
? ? return 0;
}
8.運(yùn)行項(xiàng)目,達(dá)到顯示效果:

9.至此,我們已經(jīng)成功的把GLFW,編譯成靜態(tài)庫(kù),并且引入到工程中,開(kāi)始OpenGL的學(xué)習(xí)之旅吧。
我也是剛開(kāi)始學(xué)習(xí)OpenGL,有不對(duì)的地方,希望大家能夠及時(shí)指出,一起努力吧?。?!