Visual stdio 2022 解决 Cmake 项目报错问题

news/2025/3/18 12:27:07/文章来源:https://www.cnblogs.com/DrLeaves/p/18778702

折腾了好几个小时终于搞明白了

最开始的问题是我想导入一个vcpkg下载的C依赖,然后Cmake直接提示报错找不到cl

The CMAKE_C_COMPILER:

cl.exe

is not a full path and was not found in the PATH.

Tell CMake where to find the compiler by setting either the environment
variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
the compiler, or to the compiler name if it is in the PATH.

这个是比较常见的环境变量问题,不知道是不是我的安装版本有些差别
网上其他人的解决方案都是.\vs2022\VC\Tools\MSVC\14.40.33807\bin就有cl.exe而我需要一路找到.\vs2022\VC\Tools\MSVC\14.40.33807\bin\Hostx64\x64

总之导入后就能解决第一个问题,然后会出现一个新的问题

CMakeFiles\cmTC_43e20.dir/manifest.res: file not recognized: file format not recognized

ninja: build stopped: subcommand failed.

CMake will not be able to correctly generate this project.

这个问题的根本原因是CMakePresets.json 设置了 Ninja 作为生成器,但它与 MSVC (cl.exe) 冲突
在CMakePersets.json中把 configurePresets下的 generator 改成自己合适的版本就行 例如

{"name": "windows-base","hidden": true,"generator": "Visual Studio 17 2022","binaryDir": "${sourceDir}/out/build/${presetName}","installDir": "${sourceDir}/out/install/${presetName}","cacheVariables": {"CMAKE_C_COMPILER": "cl.exe","CMAKE_CXX_COMPILER": "cl.exe"},"condition": {"type": "equals","lhs": "${hostSystemName}","rhs": "Windows"}
}

最后清除Cmake缓存就可以正常工作了
比较奇怪的是这些工作按理来说都是IDE自动完成的,感觉是电脑里面装了太多东西相互破坏了一些环境设置

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

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

相关文章

AT_arc153_b [ARC153B] Grid Rotations 题解

很久以前打第一场 ARC 时的 B 题,现在差点都还没做出来…… 不会写平衡树,因此考虑其它做法。 观察样例二,发现答案好似就是把串往下和往右滚动了几下。 再想一下,发现每两次旋转都可以视为滚动,考虑两次两次计算贡献,如果是奇数次最后一次单独处理。 假设每一个数代表一…

02. 数据在flash的存储

然后我们要理解说文件是如何存储在Flash上的话,首先我们要理解在Flash中是如何存储0,1的 总结来说,从上到下是这样的结构:Flash就是通过双珊极场效应管的方法存储单位的0,1; 而双珊极场效应管是由场效应管设置而来; 如果要理解场效应管,首先我们要理解半导体导电原理。我们…

3.三种简单的力

1.重力 万有引力定律: $F = G \frac{m_1 m_2}{r^2}$ 实际在模拟时使用的方程: $F = mg$(m是物体质量,g为指向向下的常数矢量) 2.摩擦力 2.1静摩擦力 当两个物体相对静止时,阻止它们开始运动的摩擦力称为静摩擦力。 $f_s = \mu_s N$ $ \mu_s$:静摩擦系数 $N$:法向力的大小 2…

01. 数据在磁场中的存储

数据在磁盘上的存储抽象数据存储在磁盘上,物理层面上是在每一个存储单元中,有类似2维的一个一个空间,每一个空间存储1bit或者1byte的数据. 当存储数据的时候都需要知道每一段数据的头地址由此进行读写 这样并不方便管理,所以将整个存储空间划分为更大的单位空间,以block的…

大数据分析是什么?

谢邀,这篇就用大白话聊聊大数据分析到底是什么,不拽专业术语,不卖关子,就用最平常普通的例子去给大家拆解清楚。 大数据分析听着挺高大上,其实离日常生活可近了,比如你刷短视频看到的推荐视频、购物软件猜你喜欢的商品,背后都是大数据分析的作用! 一、到底什么是大数据…

触觉智能RK3506核心板,工业应用方案分享(一)

在工业4.0与智能制造深度融合的今天,设备实时性、稳定性和成本效益成为企业核心竞争力的关键。而触觉智能RK3506核心板,基于RK3506B/RK3506J,仅59元起售,作为全新的入门工业级芯片平台,其工业宽温性能、发热量小,IO接口丰富, 即时性高, 低延迟, 反应速度快等特点,重新定…

day:24 python模块(5)——xlrd模块

一.xlrd 介绍 (1)xlrd是可用于读取excel表格数据(不支持写操作,写操作需要xlwt模块实现) (2)支持xlsx 和xls 格式的格式的表格(不支持csv文件,csv文件可用python自带的csv模块操作) (3)模块安装方式:pip3 install xlrd==1.2.0 (4)模块导入方式:import xlrd 二、…

20242825 2024-2025-2 《网络攻防实践》第三周作业

@目录一. 实验内容1.1 实验内容概述1.2 实验相关知识概述二. 实验过程2.1 动手实践tcpdump2.1.1 实验要求2.1.2 实验过程展示2.1.3 所使用网址链接2.2 动手实践Wireshark2.2.1 实验要求2.2.2 实验过程展示1. 你所登录的BBS服务器的IP地址与端口各是什么?2. TELNET协议是如何…

安装 SQL Server 后在开始菜单中找不到 SQL Server XXXX 配置管理器

找不到,没有的话,就没办法了。。。 可以 Win+R 打开运行窗口,输入右侧命令,打开对应版本的配置管理器: SQL Server 2022:SQLServerManager16.mscSQL Server 2019:SQLServerManager15.mscSQL Server 2017:SQLServerManager14.mscSQL Server 2016:SQLServerManager13.ms…

MinIO Linux 数据迁移

目录安装下载安装Minio客户端备份数据数据还原数据迁移设置别名迁移 从A服务器,迁移致B服务器,前提,需要两边的 Bucket 相同,如果B服务器没有A服务器里的 Bucket 需要先创建 安装 MinIO Linux 安装使用 & SpringBoot整合MinIO 下载 查看系统架构 Linux uname -m # 输出…

day:24 python模块(4)——json模块

一、json模块 将python转换成字符类型,将字符类型转换成python类型 json模块可以实现json数据的序列化和反序列化 (1)序列化:将可存放在内存中的python 对象转换成可物理存储和传递的形式 实现方法:load() loads() (2)反序列化:将可物理存储和传递的json数据形式转换为在…

OpenWrt Mi R4A千兆编译问题

原帖地址:https://www.right.com.cn/forum/thread-4052254-1-1.html 众多周知,小米R4A千兆版与小米R3G V2在硬件上是一样的,但使用coolsnowwolf编译出来的R3G V2或者R4A固件如果用Breed刷进是无法引导进入系统的; 如果要编译出可以用breed能引导的固件需要修改源码,方法很简…