CMake支持的编译平台和IDE

文章目录

  • 简介
  • 支持的IDE
  • Visual Studio支持
    • 示例
  • 其他编译器和生成器支持
    • MinGW示例
  • IDE集成
    • Eclipse示例
  • 实验性和特殊平台支持
  • 总结

简介

CMake是一个非常强大的跨平台自动化构建工具,它支持生成多种类型的项目文件,覆盖了广泛的开发环境和编译器。在这篇博客中,我们将深入探讨CMake支持的各种平台和配置文件类型,以及它们在实际开发中的应用。

我们来看看支持哪些编译器

CMake 生成选项
Visual Studio
NMake Makefiles
MinGW Makefiles
Unix Makefiles
Ninja
其他选项
Visual Studio 17 2022
Visual Studio 16 2019
Visual Studio 15 2017
Visual Studio 14 2015
Visual Studio 12 2013
Visual Studio 11 2012
Visual Studio 10 2010
Visual Studio 9 2008
使用 -A 配置架构
使用 -A 配置架构
可选 Win64 或 ARM
可选 Win64 或 ARM
可选 Win64 或 ARM
可选 Win64 或 ARM
可选 Win64 或 IA64
可选 Win64 或 IA64
CodeBlocks
Eclipse CDT4
Kate
Sublime Text 2
Green Hills MULTI
Borland Makefiles
MSYS Makefiles
NMake Makefiles JOM
Ninja Multi-Config
Watcom WMake
CodeLite

支持的IDE

找了部分图标,偷个懒

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  Visual Studio 17 2022        = 生成 Visual Studio 2022 项目文件.使用 -A 选项配置架构.Visual Studio 16 2019        = 生成 Visual Studio 2019 项目文件.使用 -A 选项配置架构.Visual Studio 15 2017 [arch] = 生成 Visual Studio 2017 项目文件.可选 [arch] 可以是 "Win64" 或 "ARM".
* Visual Studio 14 2015 [arch] = 生成 Visual Studio 2015 项目文件.可选 [arch] 可以是 "Win64" 或 "ARM".Visual Studio 12 2013 [arch] = 生成 Visual Studio 2013 项目文件.可选 [arch] 可以是 "Win64" 或 "ARM".Visual Studio 11 2012 [arch] = 生成 Visual Studio 2012 项目文件.可选 [arch]可以是 "Win64" 或 "ARM".Visual Studio 10 2010 [arch] = Deprecated.  生成 Visual Studio 2010项目文件.  可选 [arch] 可以是"Win64" 或 "IA64".Visual Studio 9 2008 [arch]  = 生成 Visual Studio 2008 项目文件.可选 [arch] 可以是 "Win64" 或 "IA64".Borland Makefiles            = 生成 Borland makefiles.NMake Makefiles              = 生成 NMake makefiles.NMake Makefiles JOM          = 生成 JOM makefiles.MSYS Makefiles               = 生成 MSYS makefiles.MinGW Makefiles              = 生成 一个用于使用的文件mingw32-make。Green Hills MULTI            = 生成 Green Hills MULTI files(实验,进行中的工作).Unix Makefiles               = 生成 standard UNIX makefiles.Ninja                        = 生成 build.ninja files.Ninja Multi-Config           = 生成 build-<Config>.ninja files.Watcom WMake                 = 生成 Watcom WMake makefiles.CodeBlocks - MinGW Makefiles = 生成 CodeBlocks 项目文件.CodeBlocks - NMake Makefiles = 生成 CodeBlocks 项目文件.CodeBlocks - NMake Makefiles JOM= 生成 CodeBlocks 项目文件.CodeBlocks - Ninja           = 生成 CodeBlocks 项目文件.CodeBlocks - Unix Makefiles  = 生成 CodeBlocks 项目文件.CodeLite - MinGW Makefiles   = 生成 CodeLite 项目文件.CodeLite - NMake Makefiles   = 生成 CodeLite 项目文件.CodeLite - Ninja             = 生成 CodeLite 项目文件.CodeLite - Unix Makefiles    = 生成 CodeLite 项目文件.Eclipse CDT4 - NMake Makefiles= 生成 Eclipse CDT 4.0 项目文件.Eclipse CDT4 - MinGW Makefiles= 生成 Eclipse CDT 4.0 项目文件.Eclipse CDT4 - Ninja         = 生成 Eclipse CDT 4.0 项目文件.Eclipse CDT4 - Unix Makefiles= 生成 Eclipse CDT 4.0 项目文件.Kate - MinGW Makefiles       = 生成 Kate 项目文件.Kate - NMake Makefiles       = 生成 Kate 项目文件.Kate - Ninja                 = 生成 Kate 项目文件.Kate - Unix Makefiles        = 生成 Kate 项目文件.Sublime Text 2 - MinGW Makefiles= 生成 Sublime Text 2 项目文件.Sublime Text 2 - NMake Makefiles= 生成 Sublime Text 2 项目文件.Sublime Text 2 - Ninja       = 生成 Sublime Text 2 项目文件.Sublime Text 2 - Unix Makefiles= 生成 Sublime Text 2 项目文件.

Visual Studio支持

CMake支持从Visual Studio 2008到Visual Studio 2022的所有主要版本。对于Visual Studio 2017及以上版本,CMake引入了-A选项来配置架构,而对于2015及更早的版本,则可以通过在命令中指定“Win64”或“ARM”来选择架构。这为在Windows平台上使用最新的开发工具提供了极大的便利。

示例

生成Visual Studio 2019的项目文件:

bashCopy code
cmake -G "Visual Studio 16 2019" -A x64

其他编译器和生成器支持

CMake的跨平台能力不仅限于Visual Studio。它还支持各种其他编译器和生成器,如Borland Makefiles、NMake(包括JOM)、MSYS、MinGW等。这意味着你可以在多种环境中使用相同的CMake配置来构建你的项目。

MinGW示例

生成用于MinGW的Makefiles:

bashCopy code
cmake -G "MinGW Makefiles"

IDE集成

CMake的另一个强大功能是它可以生成特定于IDE的项目文件,如CodeBlocks、Eclipse CDT4、Kate、Sublime Text等。这使得开发者可以在他们选择的IDE中轻松地管理和构建CMake项目。

Eclipse示例

生成适用于Eclipse CDT4的项目文件:

bashCopy code
cmake -G "Eclipse CDT4 - Unix Makefiles"

实验性和特殊平台支持

除了上述主流平台,CMake还在不断扩展其支持范围,包括实验性支持如Green Hills MULTI,以及特殊平台的支持。这显示了CMake对于适应不同开发环境和需求的承诺。

总结

CMake的多样化生成器和平台支持使其成为一个极为强大的工具,无论是在传统的开发环境中,还是在寻求特定IDE集成或实验性平台支持的情况下。它提供了一种统一的方法来处理项目构建,极大地简化了跨平台开发的复杂性。无论你是一个专注于Windows应用开发的程序员,还是一个需要在多种操作系统上工作的软件工程师,CMake都是一个不可或缺的工具。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenHarmony之HDF驱动框架

概述 HDF&#xff08;Hardware Driver Foundation&#xff09;驱动框架&#xff0c;为驱动开发者提供驱动框架能力&#xff0c;包括驱动加载、驱动服务管理、驱动消息机制和配置管理。并以组件化驱动模型作为核心设计思路&#xff0c;让驱动开发和部署更加规范&#xff0c;旨在…

LOG滤波器原理探究---计算机视觉和特征检测

先来看几个滤波器公式&#xff1a; 高斯滤波器&#xff1a; G ( x , y ; σ ) 1 2 π σ 2 e − x 2 y 2 2 σ 2 G(x,y;\sigma) \frac{1}{2 \pi \sigma^2} e^{-\frac{x^2 y^2}{2\sigma^2}} G(x,y;σ)2πσ21​e−2σ2x2y2​ 图像的二阶导数&#xff1a; ∇ 2 f ∂ 2 f ∂…

ARM NEON 指令

NEON指令 按照操作数类型可以分为正常指令、宽指令、窄指令、饱和指令、长指令。 正常指令&#xff1a;生成大小相同且类型通常与操作数向量相同到结果向量。长指令&#xff1a;对双字向量操作数执行运算&#xff0c;生产四字向量到结果。所生成的元素一般是操作数元素宽度到…

How to understand the Trusted Intelligent Computing Service in Huawei Cloud

How to understand the Trusted Intelligent Computing Service in Huawei Cloud 概述什么是TICS产品架构TICS规格说明产品优势产品功能应用场景政企信用联合风控政府数据融合共治金融联合营销使能数据交易 快速入门TICS快速入门TICS使用流程简介入门实践 概述 什么是TICS 可信…

SpringBoot 集成支付宝支付

网页操作步骤 1.进入支付宝开发平台—沙箱环境 使用开发者账号登录开放平台控制平台 2.点击沙箱进入沙箱环境 说明&#xff1a;沙箱环境支持的产品&#xff0c;可以在沙箱控制台 沙箱应用 > 产品列表 中查看。 3.进入沙箱&#xff0c;配置接口加签方式 在沙箱进行调试前…

WPF+Halcon 培训项目实战(8-9):WPF+Halcon初次开发

文章目录 前言相关链接项目专栏运行环境匹配图片WPF Halcon组件HSmartWindowControlWPF绑定读取图片运行代码运行结果 抖动问题解决运行结果 绘制矩形绘制图像会消失 绘制对象绑定事件拖动事件 前言 为了更好地去学习WPFHalcon&#xff0c;我决定去报个班学一下。原因无非是想…

大模型时代下AIGC新浪潮

大模型时代下AIGC新浪潮 文章目录 大模型时代下AIGC新浪潮1. **相关概念**2. **迎接大模型时代**3. **ChatGPT引爆AIGC产业**4. **从产业链宏观看AIGC**1. **上游&#xff1a;基础层**2. **中游&#xff1a;技术层/模型层**1. **模型层介绍**2. **预训练大模型分类与介绍** 3. …

2023春季李宏毅机器学习笔记01 :正确认识 ChatGPT

资料 课程主页&#xff1a;https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.phpGithub&#xff1a;https://github.com/Fafa-DL/Lhy_Machine_LearningB站课程&#xff1a;https://space.bilibili.com/253734135/channel/collectiondetail?sid2014800 一、对Chatgpt的误解…

MongoDB笔记

文章目录 安装查看数据库命令手册 学习地址&#xff1a;https://www.bilibili.com/video/BV16u4y1y7Fm 安装 下载地址 https://www.mongodb.com/try/download/community-kubernetes-operator查看数据库 查看当前数据库 show dbs show databases切换数据库 use 数据库名称cls…

怎么快速修复mfc140.dll文件?解决mfc140.dll缺失的方法

面对计算机报告的 ​mfc140.dll​ 文件遗失错误&#xff0c;这通常表明系统中缺少一个关键的动态链接库文件&#xff0c;该文件对于运行以 Microsoft Foundation Class (MFC) 库编写的程序十分重要&#xff0c;尤其是那些需要图形界面的应用程序和一些游戏。若没有这个文件&…

curl命令是什么?(答:请求 Web 服务器)

FLAG&#xff1a;遗憾吗&#xff1f;当然 专研方向: 服务器&#xff0c;http请求 每日emo&#xff1a;是时候该画上一个句号了&#xff0c;或好或坏。这一年已经过去了。 curl命令是什么&#xff1f;(答&#xff1a;请求 Web 服务器) curl 是常用的命令行工具&#xff0c;用来请…

VirtualBox + Redhat7.6 +Oracle19C 数据库安装

软件工具&#xff1a; 虚拟化工具&#xff1a;VirtualBox-6.1.26-145957-Win.exe操作系统镜像&#xff1a;rhel-server-7.6-x86_64-dvd.iso远程连接工具&#xff1a;XmanagerPowerSuite-7.0.0004r.exe、SecureCRT 8.5.3数据库版本镜像&#xff1a;LINUX.X64_193000_grid_home.…