Xcode下配置openGL环境其实有特别多种,但可能都不是很统一,我觉得之前我一直配置失败glfw的很大一部分原因也是我没有了解清楚这个配置的原理,当然每个人的情况都存在着特殊性,像我的电脑至今还是用的macOS Sierra(10.12.6),Xcode是8.0版本,所以我在操作brew的时候一直有问题(而且brew真的巨慢,我搞了镜像也特别慢),所以我选择是自己下载然后配置的,麻烦一点,但成功率高,如果你brew能成还是用brew吧,省得又找来找去文件。

而且之前我用的是glut所以很多时候还是有点麻烦,配置好glfw还是很有助于后面学习的。

 


下面是我对网上各个方法的总结,包括后面配置,具体参考了:


 learnopengl里讲的是很清楚的,好像是有中文版的,需要的可以找找,基本是手把手教的程度,然后因为learnopengl只是教了visual studio的配置(虽然原理是基本一样的),但作为小白走过来,我也深知配置真的头大,直接拒绝入行哈哈哈。所以在参考了下面这个,得出了我的方法:

 


配置前的准备

  1. 下载GLFW

GLFW - Downloadwww.glfw.org

点击Source Package进行下载。

2. 下载CMake(用来生成对应系统所需的文件)

Download | CMakecmake.org

选择你自己对应系统的类型来下载,我下载的是cmake-3.18.0-rc2-Darwin-x86_64.dmg

3. 构建一个build文件夹,用来存储CMake的生成文件,打开CMake


ios17 xcode配置文件 xcode配置要求_xcode 添加头文件路径


Where is the source code: 填写下载下来的GLFW文件

Where to build the binaries: 填写你构建的build文件夹位置

4. 点击Configure


ios17 xcode配置文件 xcode配置要求_CMake_02


这个我选过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即为成功)


ios17 xcode配置文件 xcode配置要求_CMake_03


然后再点击一次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


选择如下


ios17 xcode配置文件 xcode配置要求_cmake配置出错_04


点击Generate

8. 于是你得到以下文件,下载glad.zip


ios17 xcode配置文件 xcode配置要求_CMake_05


9. 解压后,里面有include文件夹和src文件夹,打开include文件夹并复制gladKHR文件,然后用6.2的方法前往/usr/local/include中,将两文件夹复制进去


环境配置

  1. 打开Xcode构建command line tools,然后点进project->navigator->Build Phases,添加下面的文件


ios17 xcode配置文件 xcode配置要求_CMake_06


libglfw3.a可以利用6.2方法找到该文件,直接拖入

2. Build Settings的配置


ios17 xcode配置文件 xcode配置要求_CMake_07


主要就是Header Search PathsLibrary Search Paths,无需选择recursive

3. 把src文件中的glad.c拉入工程中


ios17 xcode配置文件 xcode配置要求_xcode 可以打开xmind_08


4. 在写程序的头文件时记得glad要写在所有openGL其他头文件的前面


#include


5. 然后你就可以写程序进行测试了,这里贴一个官网的测试程序


#include


运行成功不报错,得到名称为“Hello World”的黑窗。


小提示:如果你最后运行错误,可以看一下是不是搜不到头文件之类的,如果你在配置环境中设置了other linker flags也可能有问题,查一下include文件中文件齐不齐全,lib文件里有没有libglfw3.a文件,只要这些配备完成了一般应该不会出错,如果还是失败google以下一般都可以解决,祝你配制顺利。