一、简介
GLFW 是一个免费的开源多平台库,用于 OpenGL、OpenGL ES 和 Vulkan 应用程序开发。它提供了一个简单的、独立于平台的 API,用于创建窗口、上下文和表面、读取输入、处理事件等。 。
下载地址为 Download | GLFW
二、项目目录结构
glfw/
include/ 包含GLFW的头文件
lib/ 包含GLFW库文件
main.cxx 测试程序文件
CMakeLists.txt项目构建文件
三、准备工作
3.1 安装编译器
下载网址 WinLibs - GCC+MinGW-w64 compiler for Windows
下载完成后将mingw64放到硬盘上的某个位置,例如D:\mingw64,然后把D:\mingw64 添加到系统的PATH变量中。
3.2 安装CMake
下载网址 Download CMake
可以直接下载安装程序,省事
也可以下载ZIP文件并解压到硬盘里,例如D:\cmake-3.29.3-windows-x86_64,然后把D:\cmake-3.29.3-windows-x86_64\bin添加到系统的PATH变量里。
3.3 下载glfw
下载地址 Releases · glfw/glfw · GitHub 或 Download | GLFW 我使用的是glfw-3.4.bin.WIN64.zip
四、项目准备
4.1 项目目录
在D:\CMakeTest目录里建立 glfw目录
并在glfw目录里建立include 和 lib 两个目录
在include和 lib 两个目录分别建立glfw子目录
4.2 复制glfw头文件
把glfw-xx.bin.WIN64.zip压缩包中的include 目录中的文件 解压到include\glfw目录中去
4.3 复制 glfw 链接库文件
把glfw-xx.bin.WIN64.zip压缩包中lib-mingw-w64目录中的文件 解压到lib\glfw目录中去
4.4 建立CMakeLists.txt文件
文件内容如下 :
cmake_minimum_required(VERSION 3.10)
project(glfwTest)
set(CMAKE_CXX_STANDARD 11)
include_directories(include)
link_directories(lib//glfw)
add_executable(glfwTest main.cxx ${GLAD_SRCS} ) #添加WIN32参数就不会显示控制台界面了
target_link_libraries(glfwTest glfw3.a opengl32) # 链接库文件
4.5 建立 main.cxx 源文件
文件内容如下:
#include <iostream>
#include <GLFW/glfw3.h>
using namespace std;
const int WIDTH = 800 ,HEIGHT =600;
int main(void)
{
GLFWwindow * window ;
//初始化GLFW
if(!glfwInit()) cout<< "Failed to Init GLFW." << endl;
//创建窗口
window = glfwCreateWindow(WIDTH,HEIGHT,"Hello GLFW",NULL,NULL);
if(!window)
{
cout<< "Failed to create GLFW window." << endl;
glfwTerminate();
return -1;
}
//将当前窗口设为主线程上下文
glfwMakeContextCurrent(window);
while(!glfwWindowShouldClose(window))
{
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwTerminate();
return 0;
}
五、构建编译
5
.
1
打开
CMD
命令窗口,并定位到
d:\CmakeTest\g
lfw
目录
5
.
2
配置并构建系统
cmake -
S . -B ./build -G “MinGW Makefiles”
5.3 编译链接项目
cmake --build ./build
5.4 运行测试
进入build目录,双击imimguitest.exe 运行测试即可