环境准备

# macos 环境配置,需要预装xcode和cmake
brew install cmake # 下载源码
git clone https://github.com/glfw/glfw.git

编译

编译方式1:使用xcode编译

# cmake初始配置,生成编译文件
cd glfw
cmake -S . -B build_xcode -G Xcode

在build_xcode目录中找到GLFW.xcodeproj工程,打开运行即可,编译生成的可执行文件位于build_xcode/examples/Debug/splitview

编译方式2:命令行下编译

# cmake初始配置,生成编译文件
cd glfw
cmake -S . -B build # 编译
cd build
make

编译生成的可执行文件位于build_xcode/examples目录下,这次不只是一个splitview

编译过程中遇到的问题

  • No CMAKE_C_COMPILER could be found.

解决:需要确保xcode已安装,然后执行下面指令

sudo xcode-select --switch /Applications/Xcode.app/

1. xcode可以前往App Store安装

2. 执行完后需要删除build目录,重新执行初始配置命令生成编译工程

错误日志:

> cmake -S . -B build -G Xcode
-- The C compiler identification is unknown
CMake Error at CMakeLists.txt:3 (project):
No CMAKE_C_COMPILER could be found. -- Configuring incomplete, errors occurred!
See also "/Users/buzz/git/glfw/build/CMakeFiles/CMakeOutput.log".
See also "/Users/buzz/git/glfw/build/CMakeFiles/CMakeError.log".

参考

macos下编译glfw的更多相关文章

  1. 【Java】macOS下编译JDK8

    安装mercurial brew install mercurial 下载源码 1234 hg clone http://hg.openjdk.java.net/jdk8/jdk8 java-sour ...

  2. 在Windows和MacOS下编译Lua

    官方说明: http://www.lua.org/manual/5.3/readme.html 在Windows下编译Lua动态链接库的注意事项: 1. 创建一个空的DLL项目: 2. 将src文件夹 ...

  3. 在 MacOS 上编译链接 OpenGL 程序

    几个星期以前开始折腾在我的MBA上写 OpenGL 小程序.我不太熟悉MacOS上的开发工具比如XCode,所以一开始的想法就是用vim来写程序,然后手工编译链接.网上查了一下,MacOS上的Open ...

  4. MIT6.828课程JOS在macOS下的环境配置

    本文将介绍如何在macOS下配置MIT6.828 JOS实验的环境. 写JOS之前,在网上搜寻JOS的开发环境,很多博客和文章都提到"不是32位linux就不好配置,会浪费大量时间在配置环境 ...

  5. MacOS X编译OpenSceneGraph

    本文主要记录在MacOS X上编译OpenSceneGraph,方便日后查阅.所使用的环境如下: MacOS X 10.10 Yosemite XCode 6.3.2 CMake 3.3.0 Open ...

  6. 如何在macOS下安装geoserver

    macOS 下的编译包 如果是使用安装文件,请查看官网文档,如果想要部署在已有的tomcat服务下,请查看网页压缩包章节. Web archive. An alternate way of insta ...

  7. MIT6.828准备:MacOS下搭建xv6和risc-v环境

    本文介绍在MacOS下搭建Mit6.828/6.S081 fall2019实验环境的详细过程,包括riscv工具链.qemu和xv6,对于Linux系统同样可以参考. 介绍 只有了解底层原理才能写好上 ...

  8. 【记录一个问题】macos下lldb调试opencv的一个程序,出现“failed to load objfile for”错误,并且无法调试进入opencv的函数

    opencv编译使用了Debug版本,打开了BUILD_WITH_DEBUG_INFO=ON选项. 发现问题后,我又在CMAKE_CXX_FLAGS_DEBUG中设置为 -g -ggdb3,在CMAK ...

  9. 不要着急改代码,先想想--centos 6.8下编译安装tmux

    诸位读者新年好,2017开年第一篇博客,请允许我先问候一下看到这篇博客的诸位.写博客是我2017年定下的目标之一,希望我会坚持下去. 最近打算尝试一下tmux这个神器,于是有了这一篇关于思维方式的Bl ...

  10. [转] Windows下编译OpenSSL

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

随机推荐

  1. Vue3 ref 模板引用获取不到节点

    ref模板引用必须要在组件实例挂载完成之后才可以访问.如果你是在组合式 API 里面写的组件,那么 setup 函数比任何周期函数都早,所以不可能在该函数中执行时获取得到ref--组件实例. 官网关于 ...

  2. cisco恢复IOS文件的方法

    cisco IOS恢复的方法很多,这里使用TFTP方法恢复. 当你delete flash: 后 路由器重启将不能工作,这时要恢复IOS 把你备份好的IOS文件放到TFTP目录里面. > IP_ ...

  3. Nginx--logrotate日志切割打包

    1.系统是默认安装的,查看系统是否安装logrotate centos rpm -ql logrotate /etc/cron.daily/logrotate /etc/logrotate.conf ...

  4. Docker之Nginx保姆级别安装

    Docker之Nginx保姆级别安装: 如果觉得样式不好:跳转即可 http://www.lifengying.site/(md文件复制过来有些样式会不一样) 学英语网站项目:自己先保证Redis.N ...

  5. 深入理解webpack的chunkId对线上缓存的思考(转载)

    转载自https://juejin.cn/post/6844903924818771981#heading-6  作者:Kimm 想必经常使用基于webpack打包工具的框架的同学们,无论是使用Rea ...

  6. myJRebel 已不可用

    周末在家里撸代码,突然 IDEA 提示 JRebel 需要激活. 原来一直使用的 myJRebel 的激活码,天真的以为是我的网络问题,尝试重新激活,结果不管用,就想去 myJrebel 的网站上去看 ...

  7. css节流

    众所周知,函数节流(throttle)是 JS 中一个非常常见的优化手段,可以有效避免函数过于频繁的执行. 举个例子:一个保存按钮,为了避免重复提交或者服务器考虑,往往需要对点击行为做一定的限制,比如 ...

  8. vue路由跳转当前路由刷新

    在app.vue里面定义 reload() {         this.isRouterAlive = false         this.$nextTick(function () {      ...

  9. Selenium私房菜系列9 -- Selenium RC服务器命令行参数列表【VV】

    使用示例: java -jar selenium-server.jar [-interactive] [options] -port <nnnn>: selenium服务器使用的端口号(默 ...

  10. Windows10 WSL开启SSH登录

    1.wsl 安装ssh服务(使用的是ubuntu)sudo apt install openssh-server 2.修改配置文件sudo vim /etc/ssh/sshd_config关键的几处修 ...