Windows 安装CMake

news2024/11/30 5:01:26

CMake 简介

CMake是一个开源的、跨平台的自动化构建系統,用來管理软件构建的过程。

其用途主要包括:

1. 跨平台编译:CMake支援Windows,Mac OS,Linux等多种操作系統,且支援多数主流编译器如GCC,Clang,Visual Studio等。

2. 管理大型项目:可以分別编译和管理不同的功能模块,在CMakeLists中定义其相依性,有助于软件项目的组织和维护 。

3. 测试:CMake自帶的CTest工具可以添加单元测试,方便对项目进行测试。

4. 打包:可以通过CPack工具制作安裝包。

5. 多中构建方式:可以设置多种构建目标,包括执行文件、库文件还可以设置自定义命令等。

通过CMake,软件开发者可以更轻松地进行跨平台开发和项目目管理。

Windows 安装CMake

1、CMake官网下载地址:Download CMake

   我下载的为cmake-3.27.6-windows-x86_64.msi

2、双击运行,开始安装。

w2.png

3、勾选同意协议。

w1.png

4、 添加环境变量(可添加左面快捷方式)。

q5.png

5、更改安装目录,尽量不要包含中文。

q4.png

6、点击下一步,开始Install。

q3.png

7、安装完成。

q2.png

8、在CMD里面输入cmake,显示如下信息则表示安装成功。

q1.png

Windows CMake  常用指令总结

在 Windows 系统上,常用的cmake指令如下:

1. cmake -version: 显示当前的 CMake 版本。

2. cmake .:在当前目录下生成构建文件。

3. cmake -G"generator-name": 生成指定生成器的构建文件。例如:"Visual Studio 16 2019" 用于生成 Visual Studio 2019 的工程文件。

4. cmake -DCMAKE_BUILD_TYPE=Release .:指定构建类型为天发布。

5. cmake -DCMAKE_INSTALL_PREFIX=/path/to/install: 指定安装目录路径。

6. cmake --build .:编译源代码。

7. cmake --build . --target install: 编译源代码并安装。

8. cmake --build . --config Release:指定构建配置为发布。

9. cmake --build . --target clean: 清理项目构建。

10. cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=YES .:导出编译指令到 compile_commands.json 文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1051938.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在 Elasticsearch 中使用 Openai Embedding 进行语义搜索

随着强大的 GPT 模型的出现,文本的语义提取得到了改进。 在本文中,我们将使用嵌入向量在文档中进行搜索,而不是使用关键字进行老式搜索。 什么是嵌入 - embedding? 在深度学习术语中,嵌入是文本或图像等内容的数字表示…

centos 7.9同时安装JDK1.8和openjdk11两个版本

1.使用的原因 在服务器上,有些情况因为有一些系统比较老,所以需要使用JDK8版本,但随着时间的发展,新的软件出来,一般都会使用比较新的JDK版本。所以就出现了我们标题的需求,一个系统内同时安装两个不同的版…

Bartende:Mac菜单栏图标管理软件

Bartender 是一款可以帮助用户更好地管理和组织菜单栏图标的 macOS 软件。它允许用户隐藏和重新排列菜单栏图标,从而减少混乱和杂乱。 以下是 Bartender 的主要特点: 菜单栏图标隐藏:Bartender 允许用户隐藏菜单栏图标,只在需要时…

【Vue】数据监视输入绑定

hello,我是小索奇,精心制作的Vue系列持续发放,涵盖大量的经验和示例,如有需要,可以收藏哈 本章给大家讲解的是数据监视,前面的章节已经更新完毕,后面的章节持续输出,有任何问题都可以…

孤举者难起,众行者易趋,openGauss 5.1.0版本正式发布!

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

基于SSM的教师办公管理的设计与实现(有报告)。Javaee项目。

演示视频: 基于SSM的教师办公管理的设计与实现(有报告)。Javaee项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring S…

Selenium Webdriver自动化测试框架

最近正在编写selenium webdriver自动化框架,经过几天的努力,目前基本已经实现了一套即能满足数据驱动、又能满足Web关键字驱动的自动化框架(主要基于 antjenkinstestngselenium webdriverjxl实现)。通过这次的自动化框架开发&…

[CISCN2019 华北赛区 Day2 Web1]Hack World 布尔注入

正确的值 错误的值 我们首先fuzz一下 发现空格被过滤了 我们首先测试 (1)(1) (1)(2) 确定了是布尔注入了 我们写一下查询语句 (select(ascii(mid(flag,1,1))>1)from(flag))(select(ascii(mid(flag,1,1))102)from(flag)) 确定了f 开头 我们开始写脚本 import string …

喜获殊荣!迅镭激光获评“2023年苏州市质量奖”!

近日,苏州市质量奖评定委员会公示2023年苏州市质量奖评定结果,经过层层严格评审,迅镭激光从众多企业中脱颖而出,成功获评“苏州市质量奖”称号! 苏州市质量奖是苏州市政府设立,授予在经营质量上表现优秀的苏州企业的专…

交换机之间配置手动|静态链路聚合

两台交换机,配置链路聚合: 1、禁止自动协商速率,配置固定速率 int G0/0/1 undo negotiation auto speed 100int G0/0/2 undo negotiation auto speed 100 2、配置eth-trunk int eth-trunk 1 mode manual | lacp-staticint G0/0/1 eth-trun…

notion + nextjs搭建博客

SaaS可以通过博客来获得SEO流量,之前我自己在nextjs上,基于MarkDown Cloudfare来构建博客,很快我就了解到更优雅的方案:notion nextjs搭建博客,之前搭建了过,没有记录,这次刚好又要弄&#xf…

Yolov8-pose关键点检测:模型轻量化创新 | OREPA结合c2f,节省70%的显存!训练速度提高2倍! | CVPR2022

💡💡💡本文解决什么问题:浙大&阿里提出在线卷积重新参数化OREPA,节省70%的显存!训练速度提高2倍! OREPA | GFLOPs从9.6降低至8.2, mAP50从0.921提升至0.931 Yolov8-Pose关键点检测专栏介绍:https://blog.csdn.net/m0_63774211/category_12398833.html ✨✨…

平台登录页面实现(一)

文章目录 一、实现用户名、密码、登录按钮、记住用户表单1、全局css代码定义在asserts/css/global.css 二、用户名、密码、记住用户的双向绑定三、没有用户,点击注册功能实现四、实现输入用户名、密码、点击登录按钮进行登录操作五、实现表单项校验六、提交表单预验…

[python 刷题] 153 Find Minimum in Rotated Sorted Array

[python 刷题] 153 Find Minimum in Rotated Sorted Array 题目: Suppose an array of length n sorted in ascending order is rotated between 1 and n times. For example, the array nums [0,1,2,4,5,6,7] might become: [4,5,6,7,0,1,2] if it was rotated 4…

年度顶级赛事来袭:2023 CCF大数据与计算智能大赛首批赛题上线!

久等了! 大数据与人工智能领域年度顶级盛事——2023 CCF大数据与计算智能大赛——首批赛题已上线,大赛火力全开,只等你来挑战! 大赛介绍 CCF大数据与计算智能大赛(CCF Big Data & Computing Intelligence Contes…

嵌入式Linux应用开发-第十二章设备树的改造

嵌入式Linux应用开发-第十二章设备树的改造 第十二章 LED模板驱动程序的改造:设备树12.1 总结3种写驱动程序的方法12.2 怎么使用设备树写驱动程序12.2.1 设备树节点要与platform_driver能匹配12.2.2 设备树节点指定资源,platform_driver获得资源 12.3 开…

基于vue+Element Table Popover 弹出框内置表格的封装

文章目录 项目场景:实现效果认识组件代码效果分析 封装:代码封装思路页面中使用 项目场景: 在选择数据的时候需要在已选择的数据中对比选择,具体就是点击一个按钮,弹出一个小的弹出框,但不像对话框那样还需…

第79步 时间序列建模实战:支持向量机回归建模

基于WIN10的64位系统演示 一、写在前面 这一期,我们介绍支持向量机(SVM)回归。 同样,这里使用这个数据: 《PLoS One》2015年一篇题目为《Comparison of Two Hybrid Models for Forecasting the Incidence of Hemor…

Linux shell编程学习笔记4:修改命令行提示符格式(内容和颜色)

一、命令行提示符格式内容因shell类型而异 Linux终端命令行提示符内容格式则因shell的类型而异,例如CoreLinux默认的shell是sh,其命令行提示符为黑底白字,内容为: tcbox:/$ 其中,tc为当前用户名,box为主机…

CSP-J第二轮试题-2021年-1.2题

文章目录 参考:总结 [CSP-J 2021] 分糖果题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 样例 #3样例输入 #3样例输出 #3 提示答案1答案2-优化 [CSP-J 2021] 插入排序题目描述输入格式输出格式样例 #1样例输入 #1样…