GLFW 编译「建议收藏」

GLFW 编译「建议收藏」GLFW使用CMake编译

前言

官方介绍

GLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan development on the desktop
It provides a simple API for creating windows, contexts and surfaces, receiving input and events.

  1. GLFW是为了在多平台为OpenGL,OpenGL Es VulKan 开发提供功能
  2. 主要是简化 创建窗口、context、接收输入的库
  3. 生成过程主要为两个阶段

:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}

CMake

vs2013编译

GLFW解压后目录

vs版GLFW.sln项目

GLFW3.lib

  1. 笔者建议,bin目录最好改名为打开平台的名字
    d:\CodeTest\glfw-3.3.6\bin ====》 d:\CodeTest\glfw-3.3.6\vs2013

本文主要是生成vs2013 x86版本的GLFW

一、 下载

  1. 必备工具CMake
    CMake下载地址
    安装CMake 可以一路缺省确定
  2. GLFW下载
    GLFW下载
    解压到 d:\CodeTest\glfw-3.3.6
    在这里插入图片描述

二、产生代码

  1. CMake使用CMakeList.txt来产生支持不同编译程序的工程文件[.sln]

:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}

vs2016 x86 选项

MinGw

CMake

GLFW.sln

makefile

  1. 打开CMake 设置源码路径(Where is the source code:)
    路径:D:/CodeTest/glfw-3.3.6
    此路径:CMakeLists.txt 此文件才是CMake关心的文件。
    实际上CMake就认CMakeLists.txt,不管什么源码
    在这里插入图片描述

  2. 设置输出路径(where to build the binaries)
    路径: D:/CodeTest/glfw-3.3.6/bin
    此路径:生成的sln + vcproject 代码都放到这里。

  3. 点击 “Configure”设置
    在这里插入图片描述
    说明:不要将CMAKE_INSTALL_PREFI设置为C:/Program Files(x86)/GLFW 详见本文 “五、INSTALL”

条目 说明
CMAKE_INSTALL_PREFIX 使用vs等编译INSTALL工程后,产生的glfw3.lib文件的存放位置 不要使用默认C:\Program files(x86)
因为权限不足,肯定无法考入
CMAKE_SHARED_LIBS √ = 编译动态库
× = 静态库
CMAKE_CONFIGURATION_TYPES 打开vs后,可以看到配置有 Debug Release RelWithDebInfo 在这里插入图片描述
GLFW_BUILD_TESTS 是否生成Test vcproject 在这里插入图片描述
GLFW_BUILD_EXAMPLES 是否生成 Example . vcprojets 在这里插入图片描述

这里的参数实际上都在指导如何生成 sln和vcproject文件

  1. 填写完配置信息后,点击Generate 去生成代码
    结果:d:\CodeTest\glfw-3.3.6\bin\
    解析:这个目录里主要两部分内容
    1 sln文件和vcproject文件
    2 编译的中间结果和最终GLFW.lib

  2. GLFW路径解析
    在这里插入图片描述

目录名 说明
bin glfw.sln 和 vsproject文件。基本没有c的源代码 CMake软件中用户设置
src glfw的主要c的源码+CMakelist文件 主要源代码都在这里
example example源代码+CMakeList 未来example.vcproject 也是直接使用这个目录的c文件
tests tests源代码+CMakeList 未来tests.vcproject 也是直接使用这个目录的c文件
  1. 理解目录:
    1.顶级目录中的CMakeList.txt 产生sln
    2.次级目录中的CMakeList.txt 产生vcproject
    3.src example tests等目录为新产生的sln 和vcproject提供源码

三、打开工程

  1. 使用open project 打开vs2013
  2. 打开工程后如图,GLFW3目录下有Examples Tests glfw 等
    在这里插入图片描述
  3. 使用All_Buid即可编译
  4. 编译Tests出现问题
    在这里插入图片描述
    解决方案: 将所有 snprintf -替换->_snprintf
    编译成功

四、准备vs2019工程

1.首先要清理记录
菜单:文件File->Delete Catch
新路径:D:/codeTest/glfw-3.3.6/vs2019
2.Configuration
在这里插入图片描述
3.Generate 产生代码
4.Open Project

在这里插入图片描述
如果改动不大,都使用相同的 src tests examples源代码,
再使用不同sln 和 vcproject产生工程
注意在同一个目录里面生成两套sln,编译很困难,作者根据实践,不建议如上图中使用同一目录产生不同版本的sln 和 vcproject功能。

五、INSTALL

  1. 编译 INSTALL项目,把产生结果拷贝到指定目录(CMAKE_INSTALL_PREFIX)
  2. 不要使用C:\program files(x86),因为权限不足,无法产生
    在这里插入图片描述
架构君码字不易,如需转载,请注明出处:https://javajgs.com/archives/166056
0
 

发表评论