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也可以正常运行了!

(本文完)

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

  1. 1. 在Mac OS中配置CMake的详细图文教程

    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. Redis中为什么使用跳表---------转自http://blog.csdn.net/u010412301/article/details/64923131

    最近在研究数据库的一些底层实现,百度的面试官问到了跳表,当时没有回答上来,在csdn上看到了这篇文章,感觉写的比较好,希望大家可以多多交流. Redis里面使用skiplist是为了实现sorted ...

  5. golang中defer的详解 转自https://blog.csdn.net/skh2015java/article/details/77081250

    Go里的defer很有用,尤其在很多执行模块化操作时,初始化时给各个需要执行的模块传入参数,但是这些参数有些事在模块执行过程中才赋值的. 这时候有了defer就不会把代码写的很凌乱. Go的defer ...

  6. Nginx 配置location root 转自https://blog.csdn.net/rofth/article/details/78581617

    nginx指定文件路径有两种方式root和alias,root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上. 最基本的区别 ...

  7. 数组中&a与&a[0]的区别 转载自http://blog.csdn.net/FX677588/article/details/74857473

    在探讨这个问题之前,我们首先来看一道笔试题,如下: [摘自牛客网]下列代码的结果是:(正确答案是 C) main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)( ...

  8. 转-spring-boot 注解配置mybatis+druid(新手上路)-http://blog.csdn.net/sinat_36203615/article/details/53759935

    spring-boot 注解配置mybatis+druid(新手上路) 转载 2016年12月20日 10:17:17 标签: sprinb-boot / mybatis / druid 10475 ...

  9. R语言中的正则表达式(转载:http://blog.csdn.net/duqi_yc/article/details/9817243)

    转载:http://blog.csdn.net/duqi_yc/article/details/9817243 目录 Table of Contents 1 正则表达式简介 2 字符数统计和字符翻译 ...

随机推荐

  1. 【BZOJ3529】【SDOI2014】数表 (莫比乌斯反演+树状数组)

    传送门 Description 有一张$n\times m$的数表,其第$i$行第$j$列 $(1≤i≤n,1≤j≤m)$ 的数值为能同时整除$i$和$j$的所有自然数之和.现在给定$a$,计算数表中 ...

  2. net6:用户添加到角色和移出角色,角色的创建与删除等Roles与Membership的使用

    原文发布时间为:2008-07-30 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...

  3. es6总结 (五)--函数扩展

  4. 驱动13.i2c设备驱动程序

    1 分析i2c设备的识别过程i2c_add_driver    i2c_register_driver        driver->driver.bus = &i2c_bus_type ...

  5. LeetCode OJ--Merge Sorted Array *

    http://oj.leetcode.com/problems/merge-sorted-array/ 两个有序数组A和B的归并排序,将结果存到A中.因为已知两数组长度且A的数组足够大,所以倒着处理, ...

  6. Jmeter(四十九)_常用的性能测试监听器

    概述 jmeter中提供了很多性能数据的监听器,我们通过监听器可以来分析性能瓶颈 本文以500线程的阶梯加压测试结果来描述图表. 常用监听器 1:Transactions per Second 监听动 ...

  7. 洛谷—— P2251 质量检测

    https://www.luogu.org/problemnew/show/P2251 题目背景 无 题目描述 为了检测生产流水线上总共N件产品的质量,我们首先给每一件产品打一个分数A表示其品质,然后 ...

  8. [ONTAK2010]Peaks

    题目大意: 一个图上有$n(n\leq100000)$个带权点,$m(m\leq500000)$条带权边.有$q(q\leq500000)$组询问,每次询问从点$v$出发,只经过权值小于等于$x$的边 ...

  9. Android 源码编译记录

    问题1:Can't locate Switch.pm in @INC (you may need to install the Switch module) (@INC contains: /etc/ ...

  10. QQ空间g_tk、bkn加密参数算法

    g_tk是腾讯在QQ空间这一领域使用的密文,有写数据包或者url参数中需要加入你计算出的g_tk才能成功! 下面是通过浏览器抓包工具抓取 访问该js内容找出 QZONE.FrontPage.getAC ...