CODE & ZEN

凯旋的博客

我是孙凯旋 @skx926
一名来自中国的 iOS 开发者
写过 Android
也会点 Web
深知付出更多才能收获更多
唯有在技术的道路上勤勤恳恳
方得片刻安心


OpenGL学习笔记(一):在Mac上编译GLFW并配置到Xcode项目

最近准备通过 LearnOpenGL 来学习一下OpenGL,环境配置的教程里面使用的开发工具是 Windows 上的 Visual Studio,而我想使用 Mac 上的 Xcode,在这里记录一下配置的过程。

下载 GLFW 源代码并安装 CMake

首先在GLFW的官网下载源代码 http://www.glfw.org/,然后在 CMake 官网下载 Mac 平台对应的安装包 https://cmake.org/download/

我下载的是一个 dmg 格式的图形界面的安装包,在把 CMake.app 拖进 /Applications 文件夹之后没有办法直接在终端运行 cmake 命令,所以需要把 cmake 命令所对应的二进制文件的路径添加到环境变量中。

打开 ~/.bash_profile 环境变量配置文件,在末尾添加下面的内容:

export CMAKE_ROOT=/Applications/CMake.app/Contents/bin/
export PATH=$CMAKE_ROOT:$PATH

保存文件之后并不会立即生效,通过 $ source ~/.bash_profile 命令来让它立即生效。

编译 GLFW 源代码

从终端进入到解压完成的 glfw 源代码的目录,依次运行下面的命令来进行编译:

$ cmake .
$ sudo make install

编译成功之后会出现下面的内容:

Install the project...
-- Install configuration: ""
-- Installing: /usr/local/include/GLFW
-- Installing: /usr/local/include/GLFW/glfw3.h
-- Installing: /usr/local/include/GLFW/glfw3native.h
-- Installing: /usr/local/lib/cmake/glfw/glfw3Config.cmake
-- Installing: /usr/local/lib/cmake/glfw/glfw3ConfigVersion.cmake
-- Installing: /usr/local/lib/cmake/glfw/glfwTargets.cmake
-- Installing: /usr/local/lib/cmake/glfw/glfwTargets-noconfig.cmake
-- Installing: /usr/local/lib/pkgconfig/glfw3.pc
-- Installing: /usr/local/lib/libglfw3.a

配置到 Xcode 项目

从上面编译的结果可以知道 GLFW 编译后的头文件和静态链接库文件的位置:

  • 头文件 /usr/local/include/GLFW
  • 静态链接库文件 /usr/local/lib/libglfw3.a

首先在Xcode项目的 Build Settings 里面进行下面的配置:

  1. Other Linker Flags 里面添加 -lGLFW3
  2. Always Search User Paths 设置为 Yes
  3. Header Search Paths 中添加 /usr/local/include(注意如果这里的路径是 /usr/local/include,引用的时候需要这样写 #include <GLFW/glfw.h>;如果路径是 /usr/local/include/GLFW,引用的时候就需要这样写 #include <glfw.h>
  4. Library Search Paths 中添加 /usr/local/lib

然后在 Build Phases 下的 Link Binary With Libraries 里面一一添加下面的动态链接库: - Cocoa Framework - OpenGL Framework - IOKit Framework - CoreVideo Framework

至此便完成了配置,可以开始 OpenGL 代码的编写了。

最近的文章

删除macOS自带的英文输入法

macOS自带的输入法支持的语言很多,但是词库不够丰富,所以我们一般都会安装搜狗输入法。 搜狗输入法是支持中文和英文输入的,有时候我们处在英文状态,想要切换到中文。如果我们不查看状态栏的输入法状态的话很难判断当前是搜狗的英文输入法还是系统自带的英文输入法。这个时候我一般会直接尝试用快捷键进行切换。 …

于  macOS 继续阅读
更早的文章

隐藏在4K电视中的猫腻

最近乔迁新居,媳妇又很喜欢看电视,因此准备买一台电视。 某东上看了一圈之后发现现在的大屏电视基本上都支持4K分辨率。这让我颇感意外,因为现在4K的片源还不是很多,电视直播的信号甚至离1080p也都差的远。但是作为一个追求极致视觉体验的人,看到电视行业能够继续发展也是很欣慰的。 现在互联网电视也是蓬勃 …

于  生活 继续阅读
comments powered by Disqus