在vscode上使用CMake指令的错误总结

简介

CMake是自动编写makefile一种工具,是对makefile的更上一层的抽象。它适合一些大型项目管理,我们只需要使用一些命令与参数即可调试与管理项目。

CMake在VScode上的快速使用

这里需要读者自行先安装号Cmake与Vscode以及VScode上的几个插件,Cmake、Cmake Tool、C/C++。然后开始配置。
这里有个帖子比较详细介绍了配置过程。
https://blog.csdn.net/jiasike/article/details/107474368

如果看到这三行说明配置成功。恭喜( ̄▽ ̄)"。
接下来说说我遇到的问题。

配置Cmake时遇到的一些问题。

一、未配置kits

我在按上面教程配置完cmake的时候执行make命令的时候提示我在这里插入图片描述
CMake Error:CMaKe_C_COMPILER not set.这两句的意思是cmake没有配置好相应的kits。即cmake找不到适合的编译器来编译cpp文件。
原因一、环境变量里找不到cmake与minGW64的bin文件。(这里我犯错的原因是我把minGW里的一个exe文件名更改了。)把cmake与minGW64的bin文件添加到系统环境变量里面去就好。
原因二、有多种编译器导致系统无法选定:
我查找到的方法是在setting.json文件末尾里添加"cmake.generator": "MinGW Makefiles"这样一句话来解决(或者输入cmake -G “MinGW Makefiles”,作用是指定g++编译器)。然后就报了这样的错误CMake Error: CMake was unable to find a build program corresponding to “MinGW Makefiles”。然后查看原因是因为我把mingw32-make.exe名字给改成了make(我们在终端里使用cmake .之后编译文件调用的就是这个执行文件。)造成了cmake无法正常编译。
原因三、之前已经配置过编译器,然后更改编译器(比如通过建立task.json来指定新的编译器)
最简单的解决方法是把cmake建立的文件删除重新建立。熟悉task.json的人可以自己更改设定使编译器不冲突)。

二、使用cmake .指令没有构建出MakeFile文件

检查文件构建报的消息

-- Building for: Visual Studio 15 2017
-- Selecting Windows SDK version 10.0.16299.0 to target Windows 10.0.19044.
-- The C compiler identification is MSVC 19.16.27043.0
-- The CXX compiler identification is MSVC 19.16.27043.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: F:/Visual Studio 2017/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe - skipped
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: E:/C++project2

这里的cxx compiler的编译器是vs自带的(我的电脑装了两个ide,一个是微软的 vs还有一个是微软的vscode编辑器)。这里的cmake自动识别选择了MSVC我查看vscode上cmake的配置确认了我选择GUN编译器但是使用的时候还是被改了(目前没有找到原因,也没找到解决方法。有大佬知道的话,请指导!)我们更改指令cmake . -G "Unix Makefiles"确认编译器(具体看三)。

三、未找到build program “Unix Makefiles”

CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.

cmake . -G “Unix Makefiles”=cmake . +查找make指令
make(对应windows下的mingw\bin\mingw-make.exe)
https://www.cnblogs.com/herelsp/p/8679200.html
make指令是linux的指令,在windows下相对应的是mingw-make。因为windows下没有该指令,只需要复制重命名为make.exe。这样就存在相同指令名字不同的make指令。

~~
后面如果有新的问题再继续补充。

### VSCodeCMakeCMake Tools 插件的作用和功能 #### CMake 的作用 CMake 是一种跨平台构建系统生成器工具,用于管理软件编译过程。通过编写 `CMakeLists.txt` 文件定义项目的结构、源文件以及如何进行编译链接等操作[^2]。 #### CMake Tools 插件的主要特性 为了更好地支持基于 CMake 构建系统的开发工作流,在 Visual Studio Code (VSCode) 上可以安装名为 **CMake Tools** 的扩展程序来增强编辑体验: - 提供完整的 CMake 命令行接口访问权限; - 支持多种 IDE 风格的工作流程选项配置; - 自动检测并加载现有项目中的 CMake 设置; - 实现了与 VSCode 内置调试功能的良好兼容性;当开发者想要启动一个新项目或打开已有工程时,只需简单几步就能完成环境初始化设置,并能够方便快捷地执行诸如清理缓存、重新配置、构建目标等一系列常用任务[^1]。 #### 使用场景举例 对于那些习惯使用命令行来进行日常编码工作的程序员来说,此插件允许他们继续沿用熟悉的方式处理事务的同时享受现代化图形界面所带来的便利之处——比如更直观的任务进度显示、错误提示信息定位等功能。而对于初学者而言,则意味着更低的学习成本和技术门槛,因为不再需要深入了解复杂的终端指令集就可以快速上手实践。 ```cpp // 示例:简单的 Hello World 程序 #include <iostream> int main() { std::cout << "Hello, world!" << std::endl; return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值