• 操作系统版本:MacOS Mavericks 10.9.2
  • Xcode版本:5.0.1
  • OpenGL版本:4.10
  • GLFW版本:3.0.4

一、GLFW编译

1、下载并安装cmake(当前最新版本为2.8.12.2)

http://www.cmake.org/cmake/resources/software.html

下载cmake-2.8.12.2-Darwin64-universal.dmg文件安装即可

2、下载GLFW源代码(当前最新版本为3.0.4)

http://www.glfw.org/download.html

3、将GLFW解压到任意目录,例如~/Library/glfw-3.0.4

4、用文本编辑器打开glfw-3.0.4目录下glfw_config.h.in文件,可根据需要修改配置信息

(1)将#cmakedefine _GLFW_COCOA

修改为#cmakedefine _GLFW_COCOA 1

(2)将#cmakedefine _GLFW_NSGL

修改为#cmakedefine _GLFW_NSGL 1

(3)将#cmakedefine _GLFW_NO_DLOAD_WINMM

修改为#cmakedefine _GLFW_NO_DLOAD_WINMM 1

(4)将#cmakedefine _GLFW_USE_OPENGL

修改为#cmakedefine _GLFW_USE_OPENGL 1

5、打开terminal,进入到glfw-3.0.4目录,依次键入以下命令:

cmake .
sudo make install

执行成功后,会打印出以下内容:

-- 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/glfwConfig.cmake
-- Installing: /usr/local/lib/cmake/glfw/glfwConfigVersion.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工程

1、打开Xcode,新建OSX Command Line Tool工程

2、左侧选中工程

(1)在Build Settings里找到Header Search Paths

添加terminal中输出的头文件路径:/usr/local/include/

(2)在Build Settings里找到Library Search Paths

添加terminal中输出的lib文件路径:/usr/local/lib/

3、在Build Phases中的Link Binary With Libraries中,添加:

(1)IOKit.framework

(2)Cocoa.framework

(3)OpenGL.framework

(4)CoreVideo.framework

(5)libglfw3.a

若不能找到libglfw3.a,可通过Add Other...按钮手动定位该文件,文件在/usr/local/lib/中

三、main文件编写

1、引用头文件

#define GLFW_INCLUDE_GLCOREARB
#include <GLFW/glfw3.h>

#define GLFW_INCLUDE_GLCOREARB可以使得GLFW包含gl3.h头文件,否则为gl.h

2、main函数

 int main() {
if (!glfwInit()) {
return -;
}
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, );
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, );
GLFWwindow* window = glfwCreateWindow(, , "Hello OpenGL", NULL, NULL);
if (!window) {
glfwTerminate();
return -;
} glfwMakeContextCurrent(window); cout << "OpenGL Vendor:" << glGetString(GL_VENDOR) << endl;
cout << "OpenGL Renderer: " << glGetString(GL_RENDERER) << endl;
cout << "OpenGL Version: " << glGetString(GL_VERSION) << endl;
cout << "GLSL Version:" << glGetString(GL_SHADING_LANGUAGE_VERSION) << endl; glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
while (!glfwWindowShouldClose(window)) {
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
glfwPollEvents();
} glfwTerminate();
return ;
}

一系列glfwWindowHint的调用可以使得GLFW使用系统中高版本的OpenGL,打印出的版本为4.1,如不使用则为2.1

另附控制台输出结果:

OpenGL Vendor:Intel Inc.
OpenGL Renderer: Intel Iris OpenGL Engine
OpenGL Version: 4.1 INTEL-8.24.
GLSL Version:4.10

四、其他

1、工作目录(Working Directory)

工作目录决定了文件查找的路径,新建的Command Line Tool工程,默认的工作目录为

/Users/<用户名>/Library/Developer/Xcode/DerivedData/<工程名>-guttkjhmhgdrqhabdijvcjusfjbi/Build/Products/Debug

当在工程中读取文件时,例如:ifstream file("aaa.fs"),会从该目录查找文件,引入工程的目录不会自动拷贝到该目录下,可以通过修改工作目录的方式解决该问题。

Xcode中菜单Product->Scheme->Edit Scheme
左侧选中Run <工程名>
右侧Working Directory后面勾选Use custom working directory,
然后下方输入的工程目录,这样代码里就是从这个目录开始找了。

Xcode环境下OpenGL C++ GLFW开发环境搭建的更多相关文章

  1. 搭建windows环境下(nginx+mysql+php)开发环境

    搭建windows环境下(nginx+mysql+php)开发环境   1. 所需准备应用程序包        1.1 nginx 程序包nginx-1.0.4.zip或其他版本(下载地址: http ...

  2. Windows 环境下vue+webpack前端开发环境搭建

    一.开发环境搭建 1.前端框架一般依赖node.js,我们首先要安装node.js. 2.由于许多npm 的源都在国外的地址,安装起来特别慢,所以我们这里利用淘宝的镜像服务器. 安装命令为:npm i ...

  3. Python Windows环境下安装Python集成开发环境 学习之路(一)

    一.安装下载安装 Python https://www.python.org/ 全部下一步,直接Finish  PyCharm http://www.jetbrains.com/pycharm/ 全部 ...

  4. pycharm环境下用Python+Django开发web搭建

    1.安装pycharm: 2.安装Python: 3.安装mysql: 4.安装Django; pip3 install django 5.创建Django工程命令方式: # 创建Django程序 d ...

  5. Windows下的Objective-C集成开发环境(IDE)

    Windows下的Objective-C集成开发环境(IDE) 分类: Objective-C2012-04-20 21:54 26631人阅读 评论(42) 收藏 举报 windowside编译器c ...

  6. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  7. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  8. mac10.9下eclipse的storm开发环境搭建

    --------------------------------------- 博文作者:迦壹 博客地址:http://idoall.org/home.php?mod=space&uid=1& ...

  9. Ubuntu下配置C/C++开发环境

    在 Ubuntu 下配置 C/C++ 开发环境 转自:白巴的临时空间 Submitted by 白巴 on 2009-04-27 19:52:12. 学习笔记 虽然 Ubuntu 的版本已经是9.04 ...

随机推荐

  1. Aspose Cells 添加数据验证(动态下拉列表验证)

    参考 :http://www.componentcn.com/kongjianjishu/kongjianjishu/2015-06-04/2781.html Aspose Cells是一款操作和处理 ...

  2. 对js中的Date扩展,格式化日期

    /** * 对Date的扩展,将 Date 转化为指定格式的String 月(M).日(d).12小时(h).24小时(H).分(m).秒(s).周(E).季度(q) * 可以用 1-2 个占位符 年 ...

  3. centos6 系统优化脚本

    #!/bin/bash # 检查是否为root用户,脚本必须在root权限下运行 # if [[ "$(whoami)" != "root" ]]; then ...

  4. love your life

    However mean your life is, meet it and live it ;do not shun it and call it hard names. It is not so ...

  5. JavaScript入门篇 第二天(消息对话框+网页弹出)

    提问(prompt 消息对话框) prompt弹出消息对话框,通常用于询问一些需要与用户交互的信息.弹出消息对话框(包含一个确定按钮.取消按钮与一个文本输入框). 语法: prompt(str1, s ...

  6. MBR(Master Boot Record)主引导记录分析

    root@ubuntu1404:/home/chen# fdisk -l /dev/sda1 Disk /dev/sda1: MB, bytes heads, sectors/track, cylin ...

  7. Mininet实验 源码安装Mininet

    参考:MiniNet实验1 安装命令: sudo apt-get update sudo apt-get upgrade sudo apt-get install git(安装过git就可以忽略此步) ...

  8. reporting service & wpf

    WPF做Windows程序界面很好很强大,RDLC做报表免费又好用,如何将两者强强联合呢?   方法1:    可以直接在WPF项目中加入一个WinForm窗体,在这个窗体上进行报表操作,与一般的Wi ...

  9. JAVASE02-Unit02: 正则表达式 、 Object 、 包装类

    正则表达式 . Object . 包装类 字符串支持正则表达式的方法一: package day02; /** * 字符串支持正则表达式的方法一: * boolean matches(String r ...

  10. vi全局替换

    http://blog.csdn.net/vindak/article/details/7830547 vi全局替换命令