C++——gcc、clang和cmake以及make

news2024/12/23 19:33:23

文章目录

  • 1. CMake和make
    • 1.1 生成内容区别
    • 1.2 CMakeLists.txt和Makefile内容比较
  • 2. clang, gcc和make
    • 2.1 基本概念
    • 2.2 改进历史(gcc,make,cmake,Ninja)

1. CMake和make

1.1 生成内容区别

在这里插入图片描述

环境 CMake生成 最终生成
Windows XXX.sln Visual Studio(MSBuild)处理.sln生成.exe可执行二进制文件
linux/macOS MakeFile Make处理MakeFile生成可执行二进制文件
  • 如果在Windows上编译过OpenCV或者ITK这类型的库,那么CMake-GUI配置结束后会出现[Open Project],会在Visual Studio中打开xxx.sln的解决方案。(默认Visual Studio是用MSBuild构建.sln文件的)
    • 更详细的过程可以看看:Windows下使用CMake进阶中一键型编译的部分。
  • linux或者MacOS的话,CMake会生成Makefile,然后用make构建项目。

Cmake和make就是linux或者macOS下构建过程中所使用的两个阶段的不同工具。
Cmake用处更广泛,跨平台。
make仅限于linux或者macOS这类型的平台,不过Windows上也有类似于make的工具,叫nmake。

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

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

相关文章

Java自学第11课:电商项目(4)重新建立项目

经过前几节的学习,我们已经找到之前碰到的问题的原因了。那么下面接着做项目学习。 1 新建dynamic web project 建立时把web.xml也生成下,省的右面再添加。 会询问是否改为java ee环境?no就行,其实改过来也是可以的。这个不重要。…

Redhat7查看时区、修改时区

问题: 安装好redhat7之后,发现时间和物理机上面的网络时间不一致,于是查看本着修改时间的目的,却发现原来是时区的问题。 解决步骤: 查看时区状态信息 timedatectl修改时区到亚洲/上海 timedatectl set-timezone A…

数列计算

题目描述 有一列数是 : 请找出这个数列的规律,编写程序计算并输出这个数列的第项,要求是分数形式,并计算这个数列的前项和 ( 结果四舍五入保留两位小数 ) 输入格式 第一行仅有一个正整数 () 。 输出格式 共有 行,第一…

ctfshow sql171-179

mysql 先打开我们本地的mysql,可以看到这些数据库 information_schema information_schema 库: 是信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息比如数据库名,数据库表, SCHEMATA表: 提供了当前MySQL实例…

Springboot+Dubbo+Nacos 集成 Sentinel(入门)

Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性。Sentinel 官网 1.版本选择 参考 SpringClou…

高级数据分析方法与模型

前言 数据思维练习不仅要熟练地掌握了分析工具,还要掌握大量的数据分析方法和模型。 这样得出的结论不仅具备条理性和逻辑性,而且还更具备结构化和体系化,并保证分析结果的有效性和准确性。今天从以下6个维度36种分析模型和方法逐个简略介绍…

双11终极战报:全程强势领跑 德施曼连续8年蝉联全渠道第一

截止11月11日24时,2023年双11电商大促落下帷幕,回顾今年的双11,在各种营销玩法、直播带货等形式的刺激下,激发了广大消费者的购物热潮。 也正因此,在双11结束后,各大电商平台、商家都纷纷交出了亮眼的成绩…

如何搞垮一个测试团队?

要想彻底搞垮一个测试团队并非易事,需要多角色通力配合、多方联动、综合施策,才能达到目的。 本文从实践经验出发,为大家总结了搞垮测试团队的18项措施,或许可以给大家带来一些启发。 — 1 — QA QA作为质量管理者,…

Adobe家里那点事儿~~~

今天,我们来谈谈关于Adobe全家桶中Photoshop的故事。 Adobe Photoshop,简称PS。其定位是一款图像处理软件。他主要处理以像素所构成的数字图像。也就是说我们常见的非矢量图片。 Photoshop的专长在于图像处理,而不是图形的创作。他是对已有的…

ZYNQ实验--Petalinux--Linux C 编程入门

Linux C 编程入门 在 Windows 下我们可以使用各种各样的 IDE 进行编程,比如强大的 Visual Studio。Ubuntu 下也有一些可以进行编程的工具,但是大多都只是编辑器,也就是只能进行代码编辑,如果要编译的话就需要用到 GCC 编译器&…

应急响应练习2

目录 1. 请提交攻击者的ip与系统版本 2. 攻击者通过某个组件漏洞获得服务器权限,请提交该组件的名称 3. 请提交攻击者首次攻击成功的时间 4. 请提交攻击者上传的webshell文件绝对路径 5. 请提交攻击者使用的webshell管理工具 6. 攻击者进一步留下的免杀的webs…

数据结构—数组栈的实现

前言:各位小伙伴们我们前面已经学习了带头双向循环链表,数据结构中还有一些特殊的线性表,如栈和队列,那么我们今天就来实现数组栈。 目录: 一、 栈的概念 二、 栈的实现 三、 代码测试 栈的概念: 栈的概念…

互联网医院牌照|互联网医院牌照办理小知识

随着互联网技术的快速发展,互联网医院牌照已经成为医疗行业的一个重要资质,我们致力于为您提供最优质的服务,帮助您的公司或产品顺利获得此牌照。 一、产品特性描述 1、专业性:我们的团队由经验丰富的顾问组成,对互联…

Redis 连接不上 WRONGPASS invalid username-password pair

1.我的RedisDesktopManager 可以连接 但是 Springboot远程使用Redis就是连不上 2.我的密码是 abc123.. 多了英文的 ..符号 在Springboot过不了,所以Redis密码尽量字母数字,不要其他符号

洛谷P1923 【深基9.例4】求第 k 小的数(java)

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.StreamTokenizer; import java.util.Arrays; import java.util.Scanner; //输入n个数字ai,输出这些数字的第k小的数。最小的数是第0小。 public cla…

IP-guard WebServer 命令执行漏洞复现

简介 IP-guard是一款终端安全管理软件,旨在帮助企业保护终端设备安全、数据安全、管理网络使用和简化IT系统管理。在旧版本申请审批的文件预览功能用到了一个开源的插件 flexpaper,使用的这个插件版本存在远程命令执行漏洞,攻击者可利用该漏…

SAP 60策略测试简介

前面我们已经测试了10.11.20.40.50.52策略的测试,下面我们会测试一下60的策略,我们把60策略和50的策略进行一个比较,先看下后台的配置上面有什么不一样的地方。 首先是50策略 我们看到60策略里面很多地方都显示有计划物料,所以我…

链表相关部分OJ题

💓作者简介👏:在校大二迷茫大学生 💖个人主页🎉:小李很执着 💗系列专栏:Leetcode经典题 每日分享:人总是在离开一个地方后开始原谅它❣️❣️❣️———————————…

基于php+thinphp+vue的教材管理系统

运行环境 开发语言:PHP 数据库:MYSQL数据库 应用服务:apache服务器 使用框架:ThinkPHPvue 开发工具:VScode/Dreamweaver/PhpStorm等均可 项目简介 教材管理系统,主要的模块包括首页、个人中心、学生管理、老师管理、教材征订管理、教师教材退订管理、…

基于RK3568新零售智能售货柜解决方案

I 方案简介 新零售智能售货柜解决方案: 无人零售除了无人货架外,自动售货机仍是亮点。但仍有很多人认为自动售货机已经过时,不会成为新零售领域的新星。 随着手机支付、人脸支付不断普及,智能售卖不断的推陈出新,无人…