首页 教程 开发工具 vscode的配置cmake遇到的问题

vscode的配置cmake遇到的问题

vscode中 使用cmake 报错 cmake : 无法将“cmake”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 这个错误。
解决方法:

步骤1: 环境变量中添加cmake

(配置成功的可以跳过此部分看步骤2)
配置抄这个 https://blog.csdn.net/MakerCloud/article/details/93545513
检测: 终端中输入cmake --version 如下图就说明环境变量配置成功了。
vscode的配置cmake遇到的问题

步骤2:Select a Kit

(配置成功的可以跳过此部分看步骤3)
Ctrl+Shift+P,输入CMake:Select a Kit
vscode的配置cmake遇到的问题

点击:scan for kits
vscode的配置cmake遇到的问题

选一个编译工具即可
vscode的配置cmake遇到的问题

步骤2成功以后长这个样子:
vscode的配置cmake遇到的问题

步骤2遇到的问题(配置成功的可以跳过此部分看步骤3)

1.没有 CMake:Select a Kit 这个选项
在插件中 卸载并重新安装这三个(第三个不知道起作用没, 我随便卸载了重新安装的,然后就有 CMake:Select a Kit 这个选项了)
vscode的配置cmake遇到的问题
2. 点击:scan for kits之后右下角这个提示一闪而过。 没让选择kits
vscode的配置cmake遇到的问题
选这个就行, 你有什么就选什么,如果这种选项一个都没有 那就装一个mingw 这里是安装连接:https://blog.csdn.net/tzr0725/article/details/111830232
vscode的配置cmake遇到的问题
3.下面状态栏不显示 这个
vscode的配置cmake遇到的问题
解决方法看这里:https://blog.csdn.net/braised_fish/article/details/134726162
vscode的配置cmake遇到的问题

步骤3:在vscode中配置cmake的路径

在下图中配置:C:\Software\cmake\bin\cmake.exe 这个路径是你第一步添加环境变量的那个路径,改成你的就行,(改错了 右下角会弹窗报错的)。
vscode的配置cmake遇到的问题

步骤4:很关键。

如果你的前3步都通过了, vscode中的终端中cmake 命令还是提示cmake : 无法将“cmake”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 这个错误。
那么很关键的一步来了!! 你把当前打开的所有vscode窗口全都关了,然后重新打开一个vscode。然后再vscode中重新运行cmake,你就发现可以!!!

结语:
如果这四步都不行 ,那我真没什么办法了。 你看看别的博客吧,反正我是没找到别的解决办法(2024/7/24)。

后续v1.0:

cmake .. 通过了,makefile文件也有了, 你是不是该执行make了, 一执行make发现又报错

make : 无法将“make”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1

vscode的配置cmake遇到的问题
是不是快疯了!
别急!
解决方法: 在你自己存放 mingw64/bin 文件夹下找到 mingw32-make.exe,重命名为 make.exe ,然后保存。抄这里https://blog.csdn.net/weixin_44222088/article/details/135922389
vscode的配置cmake遇到的问题
快去make!!!

后续v2.0:

: cmake … 时候报错 如下所示
Running 'nmake' '-?' failed with: no such file or directory 1
vscode的配置cmake遇到的问题
解决方法: 执行

cmake -G “MinGW Makefiles” …

即可。
如果报错 请看后续v3.0。
如果没有 MinGW 先去装一个 MinGW 往上翻,有安装教程连接(步骤2-问题2)

后续v3.0:

执行完 cmake -G “MinGW Makefiles” … 后报错如下
CMake Error: Error: generator : MinGW Makefiles Does not match the generator used previously: NMake Makefiles Either remove the CMakeCache.txt file and CMakeFiles directory or choose a different binary directory.
解决方法 (主要是第2条)
1. cmake路径不对 检查 是不是对应的路径下有cmakelists
2. build中有上次执行过的错误的 cmake … 清空build 重新执行

cmake -G"MinGW Makefiles"..

执行完后如果出现新错误如下:
CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage -- Configuring incomplete, errors occurred!
原因分析: 我们在后续v1.0中将 `mingw64/bin 文件夹下找到 mingw32-make.exe,重命名为 make.exe 了。 导致MinGW 找不到了 ,
所以解决方法如下: 在build目录下执行:

cmake -DCMAKE_MAKE_PROGRAM=D:/mingw64/bin/make.exe -G"MinGW Makefiles"..

此时终于成功了。D:/mingw64/bin/make.exe是后续v1.0 提到的路径,用你自己的路径就可以。抄的这里https://blog.csdn.net/u010947832/article/details/115744376
注:
只要不删除build中的文件,再次 编译只需要执行 cmake …和make即可。

搞定!

评论(0)条

提示:请勿发布广告垃圾评论,否则封号处理!!

    猜你喜欢
    【MySQL】用户管理

    【MySQL】用户管理

     服务器/数据库  2个月前  2.15k

    我们推荐使用普通用户对数据的访问。而root作为管理员可以对普通用户对应的权限进行设置和管理。如给张三和李四这样的普通用户权限设定后。就只能操作给你权限的库了。

    Cursor Rules 让开发效率变成10倍速

    Cursor Rules 让开发效率变成10倍速

     服务器/数据库  2个月前  1.21k

    在AI与编程的交汇点上,awesome-cursorrules项目犹如一座灯塔,指引着开发者们驶向更高效、更智能的编程未来。无论你是经验丰富的老手,还是刚入行的新人,这个项目都能为你的编程之旅增添一抹亮色。这些规则文件就像是你私人定制的AI助手,能够根据你的项目需求和个人偏好,精确地调教AI的行为。突然间,你会发现AI不仅能理解Next.js的最佳实践,还能自动应用TypeScript的类型检查,甚至主动提供Tailwind CSS的类名建议。探索新的应用场景,推动AI辅助编程的边界。

    探索Django 5: 从零开始,打造你的第一个Web应用

    探索Django 5: 从零开始,打造你的第一个Web应用

     服务器/数据库  2个月前  1.13k

    Django 是一个开放源代码的 Web 应用程序框架,由 Python 写成。它遵循 MVT(Model-View-Template)的设计模式,旨在帮助开发者高效地构建复杂且功能丰富的 Web 应用程序。随着每个版本的升级,Django 不断演变,提供更多功能和改进,让开发变得更加便捷。《Django 5 Web应用开发实战》集Django架站基础、项目实践、开发经验于一体,是一本从零基础到精通Django Web企业级开发技术的实战指南《Django 5 Web应用开发实战》内容以。

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

     服务器/数据库  2个月前  1.08k

    mysql_secure_installation 是 MySQL 提供的一个安全脚本,用于提高数据库服务器的安全性

    【MySQL基础篇】概述及SQL指令:DDL及DML

    【MySQL基础篇】概述及SQL指令:DDL及DML

     服务器/数据库  2个月前  483

    数据库是长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库不仅仅是数据的简单堆积,而是遵循一定的规则和模式进行组织和管理的。数据库中的数据可以包括文本、数字、图像、音频等各种类型的信息。

    Redis中的哨兵(Sentinel)

    Redis中的哨兵(Sentinel)

     服务器/数据库  2个月前  309

    ​ 上篇文章我们讲述了Redis中的主从复制(Redis分布式系统中的主从复制-CSDN博客),本篇文章针对主从复制中的问题引出Redis中的哨兵,希望本篇文章会对你有所帮助。