Xcode下配置openGL环境其实有特别多种,但可能都不是很统一,我觉得之前我一直配置失败glfw的很大一部分原因也是我没有了解清楚这个配置的原理,当然每个人的情况都存在着特殊性,像我的电脑至今还是用的macOS Sierra(10.12.6),Xcode是8.0版本,所以我在操作brew的时候一直有问题(而且brew真的巨慢,我搞了镜像也特别慢),所以我选择是自己下载然后配置的,麻烦一点,但成功率高,如果你brew能成还是用brew吧,省得又找来找去文件。
而且之前我用的是glut所以很多时候还是有点麻烦,配置好glfw还是很有助于后面学习的。
brew的方法具体可以参照这篇,写的也是简单清楚:
OpenGL+Xcode环境配置_BooneLiu的博客-CSDN博客_xcode配置openglblog.csdn.net![60da857116c86ad5310dcae37f9225f9.png](https://i-blog.csdnimg.cn/blog_migrate/559ac4e4d50a298e5cbb9be6bc196105.png)
下面是我对网上各个方法的总结,包括后面配置,具体参考了:
https://learnopengl.com/Getting-started/Creating-a-windowlearnopengl.comlearnopengl里讲的是很清楚的,好像是有中文版的,需要的可以找找,基本是手把手教的程度,然后因为learnopengl只是教了visual studio的配置(虽然原理是基本一样的),但作为小白走过来,我也深知配置真的头大,直接拒绝入行哈哈哈。所以在参考了下面这个,得出了我的方法:
Mac 下 Xcode 配置 GLFW 经验总结blog.csdn.net![60da857116c86ad5310dcae37f9225f9.png](https://i-blog.csdnimg.cn/blog_migrate/559ac4e4d50a298e5cbb9be6bc196105.png)
配置前的准备
- 下载GLFW
点击Source Package进行下载。
2. 下载CMake(用来生成对应系统所需的文件)
Download | CMakecmake.org选择你自己对应系统的类型来下载,我下载的是cmake-3.18.0-rc2-Darwin-x86_64.dmg
3. 构建一个build文件夹,用来存储CMake的生成文件,打开CMake
![9017f17b1b9031a3f278dd097ada5614.png](https://i-blog.csdnimg.cn/blog_migrate/867558d98022a6c73e6fa7ae0344669e.png)
Where is the source code: 填写下载下来的GLFW文件
Where to build the binaries: 填写你构建的build文件夹位置
4. 点击Configure
![f94ea00f443541a63b3741c81acd40f3.png](https://i-blog.csdnimg.cn/blog_migrate/210d4cb04d83ccc6fa2541c61aff2018.png)
这个我选过Xcode模式的,但是可能我的Xcode版本不够或者怎样,在生成lib文件时失败了,所以Unix Makefiles模式对我的电脑应该是最符合的。
5. Done之后可能会出现error,如果你的error是
No CMAKE_C_COMPILER could be found.
那么你可以在终端输入以下命令(原因在于你的xcode需要重置才可以用CMake)
sudo xcode-select --reset
再点击CMake中的configure,一般就可以成功,出现变红局面(并非失败,下面输出框显示Done即为成功)
![220dc76108d12d1573697778bfbb3324.png](https://i-blog.csdnimg.cn/blog_migrate/b6923c7d1a39011e1b424273e6e50520.jpeg)
然后再点击一次Configure,最后点击Generate,则在build文件夹中及生成了相应的文件。
6. 进入终端,cd到build文件夹位置,然后输入命令
make
结束后再输入
make install
于是你应该可以看到libglfw3.a在/usr/local/lib中,如果你需要查看这里有两个方法
6.1. 在终端输入
cd /usr/local/lib
然后输入此来查看文件
ls
6.2. 在finder处按command+shift+g,输入
/usr/local/lib
保险起见,你也可以查看/usr/local/include中是否已经存在GLFW文件夹(没有的话你可以自己在你下载的GLFW文件夹中把include的GLFW文件拉进去)
7. 同样你也需要下载glad文件
https://glad.dav1d.deglad.dav1d.de选择如下
![bf6ee6df7b7c0bf3073d016a6f973366.png](https://i-blog.csdnimg.cn/blog_migrate/2b5626c6c067e2c4c52e57217092980d.jpeg)
点击Generate
8. 于是你得到以下文件,下载glad.zip
![3b154f93652bbfcb28d169b66783fc46.png](https://i-blog.csdnimg.cn/blog_migrate/a82445b4ce9a22fd26684b0e954399cd.png)
9. 解压后,里面有include文件夹和src文件夹,打开include文件夹并复制glad和KHR文件,然后用6.2的方法前往/usr/local/include中,将两文件夹复制进去
环境配置
- 打开Xcode构建command line tools,然后点进project->navigator->Build Phases,添加下面的文件
![846c44cf1a9bef50c0b373b2cde2b375.png](https://i-blog.csdnimg.cn/blog_migrate/522d4aaa9668bcf2320abb03cc856f90.png)
libglfw3.a可以利用6.2方法找到该文件,直接拖入
2. Build Settings的配置
![0312fdd57827c0298abdcb22785fa0ed.png](https://i-blog.csdnimg.cn/blog_migrate/c74d9786d218f79298436e9784b8b0e5.png)
主要就是Header Search Paths和Library Search Paths,无需选择recursive
3. 把src文件中的glad.c拉入工程中
![fc889584ea234f46a4301a2fc45f5e5d.png](https://i-blog.csdnimg.cn/blog_migrate/186ddf886973b1592194fe67fc136bb4.png)
4. 在写程序的头文件时记得glad要写在所有openGL其他头文件的前面
#include
5. 然后你就可以写程序进行测试了,这里贴一个官网的测试程序
#include
运行成功不报错,得到名称为“Hello World”的黑窗。
小提示:如果你最后运行错误,可以看一下是不是搜不到头文件之类的,如果你在配置环境中设置了other linker flags也可能有问题,查一下include文件中文件齐不齐全,lib文件里有没有libglfw3.a文件,只要这些配备完成了一般应该不会出错,如果还是失败google以下一般都可以解决,祝你配制顺利。