CMake是一个比make更高级的跨平台的安装、编译、配置工具,可以用简单的语句来描述所有平台的安装(编译过程)。并根据不同平台、不同的编译器,生成相应的Makefile或者project文件。本文主要介绍在Mac OSX上安装配置CMake的方法,笔者所使用的OS X版本是macOS Sierra。

首先,你要去CMake的网站上下载它的安装文件(官网下载地址:https://cmake.org/download/),选择下图中红框所标注出来的选项。

下载完成后,就像在OS X下安装一般的程序那样安装它。完成后,CMake的图标就会出现在你的Launchpad中,如下图所示。

点击上面这个图标打开CMake的GUI程序。你可能会受到如下提示,选择【Open】然后程序可以成功打开。

启动程序后从菜单栏中选择【Tools】,然后从下拉菜单中选择“How to Install For Command Line Use”,便会弹出一个对话框,这个对话框提示你该如何配置,从而使得在命令行中也能够直接使用CMake命令。

我们主要关注其中的前两种方法。首先,如果你在命令行中输入 cmake --version,你会发现系统并不认识cmake这个命令。然后使用上面图中给出的第一种方法,即在命令行中输入PATH="/Applications/CMake.app/Contents/bin":"$PATH",如下图所示。此后,再执行跟cmake有关的命令,系统就可以正确识别它了。

但是,这个方法只能管一时(这跟Ubuntu下的情况类似),当你关闭命令行窗口后,再重新开启一个命令行窗口,系统仍然表示无法识别cmake命令。所以我们来尝试第二种方法。在新开的命令行窗口中输入(最好是从CMake的GUI对话框上直接复制,以免输错)

sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install

此时,再次打开新的命令行窗口,cmake也可以正常运行了!

(本文完)

1. 在Mac OS中配置CMake的详细图文教程的更多相关文章

  1. 在Mac OS中配置CMake的详细图文教程http://blog.csdn.net/baimafujinji/article/details/78588488

    CMake是一个比make更高级的跨平台的安装.编译.配置工具,可以用简单的语句来描述所有平台的安装(编译过程).并根据不同平台.不同的编译器,生成相应的Makefile或者project文件.本文主 ...

  2. VMware 15 安装 MAC OS 10.13 原版(详细图文教程)

    VMware 15 安装 MAC OS 10.13 原版(详细图文教程) 生命在于折腾,之前本想装个双系统黑苹果,什么 U 盘启动盘,四叶草引导,都配置好了,最后跪在一个动态卷上,备份格盘现在弄不了, ...

  3. 转:VMware 15 安装 MAC OS 10.13 原版(详细图文教程)

    -----------------转载------------------------ 原文:https://blog.csdn.net/qq_40147863/article/details/847 ...

  4. mac os中配置多个jdk(转载+)

    1.首先安装所有的JDk: * Mac自带了的JDK6,安装在目录:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/下. * JDK7,JDK8则 ...

  5. 让 ASP.NET vNext 在 Mac OS 中飞呀飞。。。

    写在前面 阅读目录: 娓娓道来 Install ASP.NET vNext Command Line Tools 安装 Homebrew 使用 Homebrew,安装 KVM Install Subl ...

  6. MAC OS 中mount nfs 报错问题.

    记一下 MAC OS 中mount nfs 报错问题. 环境和配置文件 NFS 服务端 Ubuntu 安装 apt install nfs-kernel-server 服务端的配置文件 cat /et ...

  7. Qt在windows与Mac OS中获取执行程序版本号

    1 windows中获取执行文件exe的版本号   QString GetFileVertion(QString aFullName) { QString vRetVersion; string vF ...

  8. VMware Mac OS中无法找到适应的分辨率的解决办法

    使用VMware安装的Mac OS中,有时在显示器的分辨率中的选择项里面,没有对应显示的分辨率可供选择的时候(无法自适应),可以在虚拟机设置里,显示器中修改强制分辨率.修改过后重启虚拟机,就可以有对应 ...

  9. mac os中的一些快捷键使用及基础软件安装

    mac os中terminal标签页的切换 Command+Shift+{} { 切换到左边的标签页 }  切换到右边的标签页 普通键盘对应于mac下的按键: CTRL->CONTROL WIN ...

随机推荐

  1. 从PRISM开始学WPF(七)MVVM(三)事件聚合器EventAggregator?

    原文:从PRISM开始学WPF(七)MVVM(三)事件聚合器EventAggregator? 从PRISM开始学WPF(一)WPF? 从PRISM开始学WPF(二)Prism? 从PRISM开始学WP ...

  2. Android零基础入门第25节:最简单最常用的LinearLayout线性布局

    原文:Android零基础入门第25节:最简单最常用的LinearLayout线性布局 良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认 ...

  3. shell转义符

    转义是一种引用单个字符的方法. 一个前面放上转义符 (\)的字符就是告诉shell这个字符按照字面的意思进行解释, 换句话说, 就是这个字符失去了它的特殊含义. 在某些特定的命令和工具中, 比如ech ...

  4. 赵海军获任中芯国际CEO 邱慈云留任副董事长、非执行董事(年薪40万美元+300万股票的认购权)

    集微网消息,中芯国际今日宣布,由赵海军博士接替邱慈云博士担任中芯国际首席执行官,邱慈云博士将留任副董事长.非执行董事,并于2017年6月30日前担任公司全职顾问,于当日生效.邱博士将与赵博士紧密合作, ...

  5. UWP-HttpClient

    原文:UWP-HttpClient 基本格式: HttpClient client = new HttpClient(); Uri uri = new Uri(url); HttpResponseMe ...

  6. new和delete必须成对出现吗?【网上集合贴+个人总结】

    new和delete必须成对出现吗?[网上集合贴+个人总结] 1.从内存泄露与否的角度考虑 new 和 delete不一定要成对出現.理论上是這樣的.但是从习惯上來說,new delete成對出現是一 ...

  7. C函数实现返回多个值的方法

    C语言中,一个函数最多只能实现一个返回值. int func (int b) { int a=5; if (a>b) return a; else return b; return  0; } ...

  8. qt sql事务操作

    事务是数据库的一个重要功能,所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位.在Qt中用transaction()开始一个事务操作,用commit()函数或 ...

  9. c# log4net 配置使用

    新增配置文件log4net.config,内容如下 <?xml version="1.0" encoding="utf-8" ?> <conf ...

  10. 任何一件事,如果你不投入时间和精力去驯养,就不可能产生真正的兴趣和热爱(Focus Feedback FixIt的原理) good

    这两本书和我们说的兴趣结合起来,为我们指明了精进的道路: 选择一个你感兴趣的方向 刻意练习 持续投入时间和精力 所谓刻意练习,简单说就是“3F”,即: Focus Feedback Fix it Fo ...