这个教程主要参考了youtube上的视频 Getting Started in OpenGL with GLFW/GLEW in Xcode 6 ,这个视频有点问题,不能照搬。本人通过自己摸(瞎)索(猫)加(碰)下(死)方(耗)的(子)评论,现在给出一种可能安装成功的方案,至于能不能成功,看各位的造化了。

首先,你的 mac 需要有最新的 Xcode,Command line tool, 这些都是最基础的,估计各位已经具备条件了。其次,下载安装 CMake (https://cmake.org/),这个也没有难度,和安装普通软件没有区别。

接下来正式开始配置我们的OpenGL编程环境:

1. 下载 glew (http://glew.sourceforge.net/), 点截图中间红色的 zip。

2. 下载 glfw (https://cmake.org/),点击截图中靠右侧第一个橘黄色的框(Download GLFW 3.1.2)。

3. 打开 Xcode -> Create a new Xcode project -> Command Line Tool

然后给项目取个名字(比如:BaseOpenGL),选择保存路径到桌面(比较方便)。然后,把之前两步下载的 glfw 和 glew 解压并移动到这个项目文件夹下,为了方便,把版本号删掉。

4. 在 glfw 文件夹下创建一个名为 build 的文件夹,glfw 文件夹下存在一个 CMakeLists.txt,因此我们需要用到 CMake 软件编译这个库。打开 CMake,把这个 CMakeLists.txt 拖放到 CMake 窗口靠上方的位置,可以看到其路径被自动输入到两个表单中,一个是:Where is the source code: 另一个是 Where to build the binaries。在后者的路径下,添加一个/build,表示在我们刚刚创建的 build 文件夹中创建二进制文件。

5. 点CMake窗口下方的 Configure,在弹出的菜单中有一个下拉表单,在这个下拉表单中选择 Xcode,表单下方还是采用其默认的“Use default native compilers”,然后点 Done。

6. 第5步后 CMake 的窗口出现了很多背景是红色的字符,在第一个选项: BUILD_SHARED_LIBS 后打钩,点 Configure,发现红色背景消失了,再点 Generate。然后我们就能在之前创建的 build 文件夹中发现很多新文件了:

7. 双击进入 build 文件夹中的 GLFW.xcodeproj 文件。然后注意窗口左上角运行按钮旁边的那个按钮:ALL_BUILD,将其换为 install,并选中 My Mac。然后点击黑色三角运行按钮,编译这个文件。编译之后会出现很多警告,都不要管,这是预料中的事。经过这个步骤,你电脑的某些文件夹中就存在了 glfw 的动态链接库和头文件。
   
 
8. 下面安装 glew,glew 的编译过程与 glfw 不同。首先打开命令行,然后将路径切换到 glew的文件夹内部,然后输入 sudo make install,输入电脑密码。然后电脑就开始对 glew 进行编译了,大概需要10分钟的时间才能编译好,请耐心等待。完成后,在 glew 文件夹下可以看到 include 文件夹和 lib 文件夹,分别存储这个包的头文件和库文件。
 
9. 接下来我们修改 Xcode 的配置环境。首先打开之前创建的那个BaseOpenGL工程,然后选中左侧列表的第一个 BaseOpenGL,点右侧的build Phases,然后点开 Link Binary with Libraries,点+号,搜索 OpenGL.framework, Add.
  
 
10. 然后再点+号打开刚才的窗口,这一次选择 Add Other。然后摁住 shift+command+G,输入 \usr\local 跳转到这个路径下。进入该路径下的 lib 文件夹,然后选择 libGLEW.1.13.0.dylib。重复前面的步骤,再进入到这个文件夹下,选择 libglfw.3.1.dylib。有可能你在这个路径下找不到这俩库(我一开始就没找到),那么尝试在\usr\lib 文件夹下找,找到后把与 GLEW 和 glfw 相关的库文件都拷贝粘贴到 \usr\local\lib 中,把原来的那些删掉。
 
11. 第10步加了一个OpenGL.framework 和两个库文件,这一步将选项卡由 Build Phases 切换到 Build Settings,找到 Search Paths 那一栏,在Header Search Paths 中点+号,输入 /usr/local/include,在 Library Search Paths 中添加:/usr/local/lib。有可能出现 GlEW 或者 GLFW 的头文件没有出现在 /usr/local/include 中的情况,此时请去 /usr/include 中寻找,找到相关的文件夹(GL、GLFW)后拷贝粘贴到 /usr/local/include 中,然后删掉原文件。
 
12. 在 Linking 一栏里找到 Other Linker Flags,添加 -lGLEW 链接参数。至此,基本环境就配置完了,下一步是写代码进行测试。测试代码如下:
#include <iostream>
#include <GL/glew.h>
#include <GLFW/glfw3.h> void Render(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(, .);
glColor3f(0.0,1.0,0.0);
glVertex2f(-.,-.);
glColor3f(0.0, 0.0, 1.0);
glVertex2f(., -.);
}
glEnd();
} int main(int argc, const char * argv[]) {
GLFWwindow* win;
if(!glfwInit()){
return -;
}
win = glfwCreateWindow(, , "OpenGL Base Project", NULL, NULL);
if(!win)
{
glfwTerminate();
exit(EXIT_FAILURE);
}
if(!glewInit())
{
return -;
}
glfwMakeContextCurrent(win);
while(!glfwWindowShouldClose(win)){
Render();
glfwSwapBuffers(win);
glfwPollEvents();
}
glfwTerminate();
exit(EXIT_SUCCESS);
return ;
}

测试结果为这样一幅图:

 

在 Mac OS X Yosemite 10.10.5 上配置 OpenGL 编程环境的更多相关文章

  1. mac OS X Yosemite (10.10.5) 下 安装vim 7.4笔记

    摘要 前言 需求与mac OS X 自带vim版本的冲突 默认Python解释器问题 并非Mac自带python的 homebrew 1. 前言 本文为自己作死折腾的问题记录 2. 需求与mac OS ...

  2. MAC OS X Yosemite的PyQt4配置记录

    MAC OS X Yosemite的PyQt4配置记录 声明: 1)本报告由博客园bitpeach撰写,版权所有,免费转载,请注明出处,并请勿作商业用途. 2)若本文档内有侵权文字或图片等内容,请联系 ...

  3. 在Mac OS X Yosemite 10.10.3 中搭建第一个 ASP.NET 5 Web 项目

    终于有时间在 Mac 上安装一下 ASP.NET 5,网上有许多教程,但是多数的时间比较早了,版本不是最新,搭着 Build 2015 的春风,我也实践一下 Mac OS X 上的 ASP.NET 5 ...

  4. Mac OS X Yosemite 10.10 配置 Apache+PHP 教程注意事项

    刚更新到了 Mac OS X Yosemite 10.10,发现运行Apache出现了一些问题,修正一下! 教程基于 Mac OS X Mavericks 10.9.X,移步:Mac OS X Mav ...

  5. Vmare12(虚拟机)安装Mac OS X Yosemite 10.10

    需要预备的软件如下: OSX10.10的系统镜像,下载好之后将后缀.cdr改成.iso,下载来源如下:    链接:http://pan.baidu.com/s/1sj4ri5R 密码:y86w un ...

  6. 苹果 Mac OS X Yosemite 10.10 新功能特性总结 - 扁平化、主打跨设备的无缝连通性

    苹果在2014.06.03凌晨的 WWDC 2014 大会上正式发布了最新的 OS X Yosemite 桌面操作系统和 iOS 8 移动系统.虽然整场发布会的重心都在软件上,并没有硬件亮相,但软件上 ...

  7. VMware 9.0.1安装Mac OS X Mountain Lion 10.8.2

    原地址:http://zengwu3915.blog.163.com/blog/static/278348972013117114742496/ 所需软件1.VMware Workstation Bu ...

  8. VMware9虚拟机安装MAC OS X Mountain Lion 10.8.2详细图文教程

    VMware虚拟机安装Mac OS X Mountain Lion 10.8.2所需文件:1.Vmware 9.01版下载:点击进入2.Vmware 9.01版汉化文件:点击进入3.VMware Wo ...

  9. Mac OS X Yosemite安装盘U盘制作

    从App Store下载Mac OS X Yosemite安装程序,下载后的安装文件保存在应用程序(/Applications)文件夹中.请注意,此时一定不要直接启动该程序安装 OS X Yosemi ...

随机推荐

  1. ACID

    ACID:数据库事务正确执行的四个基本要素的缩写. ACID,指数据库事务正确执行的四个基本要素的缩写. 包含:原子性(Atomicity) 一致性(Consistency) 隔离性(Isolatio ...

  2. nodejs的express使用介绍

    Express框架 来自<JavaScript 标准参考教程(alpha)>,by 阮一峰 目录 概述 运行原理 底层:http模块 什么是中间件 use方法 Express的方法 all ...

  3. mac os 添加用户到组 命令

    mac os 添加用户到组 命令 dscl localhost 进入组目录 cd /Local/Default/Groups 使用ls 你就可以看到所有的group,? /Local/Default/ ...

  4. VirtualBox4.3.12 Centos6.5-i386 设置共享文件夹

    新在虚拟机下安装个CentOS6.5,准备设置个与win7的共享文件夹,遇到一个问题,搞了好几天呢 现在先说一下: 首先,在虚拟机下安装好CentOS这里不说了 然后启动,点击安装增强功能 如下图: ...

  5. 通过配置的方式Autofac 《第三篇》

    一.基本配置 1.通过配置的方式使用Autofac <?xml version="1.0"?> <configuration> <configSect ...

  6. C++中虚析构函数的作用

    我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数.可是,为什么要这样做呢?下面用一个小例子来说明:         有下面的两个类: class ClxBase { public: ...

  7. Scrum Meeting 5-20151207

    任务安排 姓名 今日任务 明日任务 困难 董元财 将服务器转移到学校服务器 修复app特定情况下崩溃 无 胡亚坤 学习连接服务器框架 发布界面和购买界面 无 刘猛 在github上分配好任务 写博客 ...

  8. centos 安装redis自启动要点

    1.redis.conf a.daemonize yes b.pidfile /var/run/xxx.pid 2./etc/init.d/redis //加了下面三个注释部分,才支持设置开机自启动 ...

  9. ReentRantLock使用

    synchronized原语和ReentrantLock在一般情况下没有什么区别,但是在非常复杂的同步应用中,请考虑使用ReentrantLock,特别是遇到下面2种需求的时候. 1.某个线程在等待一 ...

  10. tomcat配置项目的图片路径不在项目下的处理

    <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWA ...