一、CMake官网(https://cmake.org/)上的介绍:

CMake is an open-source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice. The suite of CMake tools were created by Kitware in response to the need for a powerful, cross-platform build environment for open-source projects such as ITK and VTK.

CMake是一个跨平台的构建、测试和打包的工具集,可以用特定的语句来描述所有平台的编译过程,指导编译。CMake 的组态档为 CMakeLists.txt,使用此文件指导项目构建,换句话说就是,拥有这个文件的项目可以使用CMake进行构建。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用,如,通过CMake可以将项目源码构建成Visual Studio等项目。

wiki介绍https://en.wikipedia.org/wiki/CMake   https://zh.wikipedia.org/wiki/CMake

CMake是一个开源工具集,github源码https://github.com/Kitware/CMake

二、[基础] 使用

CMake可以直接从官网下载ZIP,根据操作系统环境选择https://cmake.org/download/

解压后可以通过其提供的GUI工具来使用,位于bin目录下:如cmake-3.9.0-rc4-win64-x64\bin\cmake-gui.exe

bin目录:

CMake GUI由Qt开发;

界面:

GUI的基本用法:

1 选择CMake所在目录,

2 选择构建的项目输出目录,

构建好的项目需要和源码目录配合使用;

3 选择好目录后,点击下方Configure按钮配置项目,

点击后首次配置需要选择想要构建的项目:

4 然后,进行项目的配置,配置完毕中间的窗口出现红色的提示文本:

5 再次点击Configure,提示文本背景变成白色,配置完毕:

6 最后点击Generate按钮,

等待项目构建完毕:

构建完毕的项目可以导入IDE,或使用gcc等工具进行编译。

总之,GUI的使用:选择源码和输出目录,进行两次Configure,然后进行一次Generate。

CMake基本使用方法介绍完毕。

【CMake】CMake GUI构建VS等项目的更多相关文章

  1. 痞子衡嵌入式:超级好用的可视化PyQt GUI构建工具(Qt Designer)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是PyQt GUI构建工具Qt Designer. 痞子衡开博客至今已有好几年,一直以嵌入式开发相关主题的文章为主线,偶尔穿插一些其他技术 ...

  2. 痞子衡嵌入式:极易上手的可视化wxPython GUI构建工具(wxFormBuilder)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是wxPython GUI构建工具wxFormBuilder. 一.手工代码布局GUI界面的烦恼 如果你曾经设计过上位机软件GUI界面,初 ...

  3. (转)HelloWorld CMake CMake中构建静态库与动态库及其使用

    继续完善Hello World,建立它的共享库, 包括静态库和动态库. 本节的任务: 1,建立一个静态库和动态库,提供HelloFunc函数供其他程序编程使用,HelloFunc 向终端输出Hello ...

  4. Cmake——CMake+SVN或Hg生成版本号

    CMake+SVN或Hg生成版本号 原来的CMake需要用shell脚本生成SVN版本号,再作为cmake参数传入.CMake调用脚本示例: #!/bin/sh # cmake.sh ServerCo ...

  5. 编写自定义cmake配置文件FindXXX.cmake或者xxx-config.cmake | cmake with user defined entry

    本文首发于个人博客https://kezunlin.me/post/12ab5707/,欢迎阅读! cmake with user defined entry Guide FindXXX.cmake ...

  6. 解决首次在eclipse中使用maven构建hadoop等项目时报Missing artifact sun.jdk:tools:jar:1.5.0的问题

    问题原因: eclipse中的maven插件默认没有引用环境变量,所以找不到jdk的路径,也就找不到tool.jar. 解决办法: 步骤如下: 1.关闭eclips 2.在eclipse的解压目录中与 ...

  7. CMake指南

    版权申明: 本文原创首发于以下网站,您可以自由转载,但必须加入完整的版权声明 博客园:https://www.cnblogs.com/MogooStudio/ csdn博客:https://blog. ...

  8. 在 linux 下使用 CMake 构建应用程序

    学习cmake http://xwz.me/wiki/doku.php?id=cmake 碰到的一些问题: 1.You have changed variables that require your ...

  9. 用 cmake 构建Qt工程(对比qmake进行学习)

    cmake vs qmake qmake 是为 Qt 量身打造的,使用起来非常方便 cmake 使用上不如qmake简单直接,但复杂换来的是强大的功能 内置的 out-of source 构建.(目前 ...

随机推荐

  1. 【原创】(十六)Linux内存管理之CMA

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...

  2. MySQL数据库用户、角色、授权

    权限包括  insert   delete   update   select   all privileges 登录MySQL > mysql -uroot -p Enter password ...

  3. es6中的面向对象写法

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  4. VS2015发布WEB项目

    第一步:在打开的VS2015中,右击项目,在弹出的对话框中,点击“发布”. 第二步:配置发布的WEB项目. 1.为要发布的项目起个名称,一般和项目名称相同. 2.选择以文件系统发布. 3.设置相关配置 ...

  5. python的range()

    range() 是一个函数,用来生成一个自然数的序列   用list()显示具体内容 扩展 # range()是一个函数,可以用来生成一个自然数的序列 r = range(5) # 生成一个这样的序列 ...

  6. 机器学习-特征工程-Missing value和Category encoding

    好了,大家现在进入到机器学习中的一块核心部分了,那就是特征工程,洋文叫做Feature Engineering.实际在机器学习的应用中,真正用于算法的结构分析和部署的工作只占很少的一部分,相反,用于特 ...

  7. P1828 香甜的黄油 Sweet Butter 最短路 寻找一个点使得所有点到它的距离之和最小

    P1828 香甜的黄油 Sweet Butter 闲来无事 写了三种最短路(那个Floyed是不过的) 题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1 ...

  8. 如何通过Java8的方式去统计程序执行时间?

    代码如下所示 import java.time.Duration; import java.time.Instant; import java.util.concurrent.TimeUnit; pu ...

  9. LeetCode动画 | 1038. 从二叉搜索树到更大和树

    今天分享一个LeetCode题,题号是1038,标题是:从二分搜索树到更大和数. 题目描述 给出二叉搜索树的根节点,该二叉树的节点值各不相同,修改二叉树,使每个节点 node 的新值等于原树中大于或等 ...

  10. 编程基础--XML约束

    2020年新年第一天,不写一篇博客纪念一下都感觉对不起这个跨年 为什么会写一篇关于xml的博客呢?xml在编程中用的又不多,再多也用不着自己写约束文件,只要能看懂就行了不是吗?嗯,没别的原因,就是想研 ...