使用的环境:Xcode V8.3.3
学习OpenGL的过程中,会使用到gltools,glew,glfw3,glut等库文件,glut包Mac自带,故不需要考虑。主要考虑的是另三个包文件怎样安装,配置。本文主要讲两大部分:
1. glew,glfw3,gltools等安装
2. Xcode环境配置及例子演示
一,glew,glfw3,gtools安装
安装这些,我们需要做一些其他的必须工作,要安装Cmake, Homebrew等,Homebrew是Mac OS 平台下的软件包管理工具,拥有着安装,卸载,更新,查看等功能,通过终端指令就可以实现包管理,是非常方便的工具。 以上相关的OpenGL包就需要该工具的配合。
1. 安装HomeBrew,官网:http://brew.sh/
打开终端,输入命令(enter):
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
提示你输入密码,输入密码(enter)后,会开始安装,安装成功后提示"Installation successful"
验证的话,可进入usr/local下查看是否存在HomeBrew文件夹,Homebrew的其他命令如下:
brew search 搜索软件包 brew install 安装软件包 brew uninstall 卸载软件包 brew info 查询软件包信息 brew list 查询已经安装的软件包 brew update 更新 brew deps 显示包依赖
倘若网络不稳定,如果出现类似于提示:curl: (35) Server aborted the SSL handshake
这需要执行卸载操作,输入命令(enter):
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
2. 使用Homebrew安装cmake,输入命令:
brew install cmake
成功后,如下图所示:
3.安装glew,输入命令:
brew install glew
成功后,如下图所示:
4.安装glfw3,输入命令:
brew install glfw3
成功后,如下图所示:
5.安装gltools,稍微有些繁琐:
(1) 进入网页: https://github.com/HazimGazov/GLTools 下载GLTools
(2) 通过终端命令cd 进入到GLTools-master目录中,
(3) 输入如下命令:
cd build
cmake ..
make
sudo make install
sudo ldconfig
期间,会提示输入密码,我在执行最后一步命令的时候,执行不了,不知为何?成功后,路径如下:
/usr/local/include 和 /usr/local/lib
至此,glfw,glew,gltools的相关包算是安装完毕。
二,Xcode环境配置及例子演示:
1. 打开Xcode,选择Create a new Xcode project,选择mac OS下的Command Line,语言选择C++。
2. 创建成功后,点击左上角Xcode,选择Preference,进入页面后,选择Locations下的Custon Paths,加入如下相关路径:
Name Display Name Path glew_header glew_header /usr/local/Cellar/glew/2.1.0/include glew_lib glew_lib /usr/local/Cellar/glew/2.1.0/lib glfw_header glfw_header /usr/local/Cellar/glfw/3.2.1/include glfw_lib glfw_lib /usr/local/Cellar/glfw/3.2.1/lib
3.设定相关头文件和Lib查找路径,如图所示:
针对于Header Search Paths,添加如下即可:
$(glew_header) $(glfw_header)
如图所示:
针对于 Libary Search Paths,添加如下即可:
$(glew_lib) $(glfw_lib)
4. 导入framework, 如图所示:
针对于.dylib文件,倘若没有找到,需要点击Add Other .. 然后Common + Shift + G 进入到 /usr/local文件夹内,根据之前安装的glew和glfw3的路径进入lib文件夹后就可以导入对应的.dylib文件了。
5. 至此环境配置算是结束,在main.cpp中粘贴上例子代码:
#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(0, .5); glColor3f(0.0,1.0,0.0); glVertex2f(-.5,-.5); glColor3f(0.0, 0.0, 1.0); glVertex2f(.5, -.5); } glEnd(); } int main(int argc, const char * argv[]) { GLFWwindow* win; if(!glfwInit()){ return -1; } win = glfwCreateWindow(640, 480, "OpenGL Base Project", NULL, NULL); if(!win) { glfwTerminate(); exit(EXIT_FAILURE); } if(!glewInit()) { return -1; } glfwMakeContextCurrent(win); while(!glfwWindowShouldClose(win)){ Render(); glfwSwapBuffers(win); glfwPollEvents(); } glfwTerminate(); exit(EXIT_SUCCESS); return 0; }
效果如下:
至此,环境配置结束。十分感谢网友的分享,参考网址如下:
http://www.jianshu.com/p/25d5fbf792a2
http://www.jianshu.com/p/3fab28d33f0d?nomobile=yes
http://blog.csdn.net/LongZh_CN/article/details/55001345