Mac平台安装glfw和glew配置xcode

本文详细记录了在Mac上安装homebrew,接着安装glfw3和glew,以及如何配置Xcode来使用这两个库的过程。通过修改Header Search Paths和Library Search Paths,添加对应的库路径,并在项目中链接必要的dylib文件,最终实现OpenGL应用的开发环境配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近有一门高级计算机三维建模课程需要用到OpenGL这个图形框架,OpenGL框架本身实现了很多图形算法,但是没有提供一个图形显示窗口,本来mac平台是提供了GLUT框架的,但是由于这个已经停止更新好几年了很老了,所以本篇笔记主要记录自己在mac平台安装glwf的过程。

step1.首先安装homebrew

$ ruby --version
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

step2.安装glfw3

在zho那果断输入

brew install glfw3

安装位置在/usr/local/Cellar/glfw/3.2.1/

step3.安装glew

brew install glew

安装位置在/usr/local/Cellar/glew/2.1.0

step4.配置xcode

在Xcode中找到Peference菜单项,然后在里面找到Locations项,再点击Custom Paths,添加四项

配置依次为:

  • 具体位置如图所示

在这里需要修改的只有一项,就是要根据你自己安装的glew的版本和glfw3的版本修改2.1.0和3.2.1这两个版本号,其他的都是一样的。

  • 然后创建一个新的Xcode项目(command line tool),语言选择C++。接着,在项目的Bulid Settings里面找到Header Search Paths和Library Search Paths两项,在Header Search Paths中加入
$(gl
### 配置OpenGLGLEWGLFWXcode中的集成 #### 创建新项目 创建一个新的Xcode项目,选择Command Line Tool模板。这将提供一个简单的C++环境用于编写OpenGL应用程序。 #### 安装依赖库 为了使OpenGL程序能够利用GLEW扩展以及通过GLFW管理窗口其他输入设备,在MacOS上需确保正确安装这些第三方库[^2]。可以通过Homebrew轻松获取最新版本: ```bash brew install glew glfw3 ``` #### 设置编译器选项 进入项目的Build Settings标签页,找到Other Linker Flags项并添加`-lGLEW -lglfw3`以指定链接所需的动态库[^4]。对于头文件路径(Header Search Paths),应加入以下目录以便于访问必要的声明语句: - `/usr/local/include` - `/opt/homebrew/include`(如果使用Apple Silicon Mac) 同样地,Library Search Paths也需要相应更新为包含`.dylib`的位置: - `/usr/local/lib` - `/opt/homebrew/lib`(针对M1/M2芯片机器) #### 导入框架支持文件 除了上述操作外,还需向工程中引入特定的系统级组件。点击Add Other...按钮导航至终端内执行命令所生成的软连接位置(desktop/Cellar替身),从中挑选出`libGLEW.dylib`与`libglfw.3.dylib`完成加载过程[^3]。 #### 初始化代码片段 最后一步是在main函数里初始化GLFW窗口,并调用GLEW来准备后续绘图工作。下面给出了一段基础示例供参考: ```cpp #include <iostream> #define GLFW_INCLUDE_GLCOREARB #include <GLFW/glfw3.h> #include <GL/glew.h> int main() { if (!glfwInit()) { std::cerr << "Failed to initialize GLFW\n"; return -1; } // Setup window hints... glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); auto* window = glfwCreateWindow(800, 600, "Test", nullptr, nullptr); if (window == NULL) { std::cerr << "Failed to create GLFW window\n"; glfwTerminate(); return -1; } glfwMakeContextCurrent(window); GLenum err = glewInit(); if (err != GLEW_OK) { std::cerr << "Failed to initialize GLEW\n"; return -1; } while(!glfwWindowShouldClose(window)) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Drawing code here... glfwSwapBuffers(window); glfwPollEvents(); } glfwDestroyWindow(window); glfwTerminate(); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值