• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

在vscode上使用CMake指令的错误

武飞扬头像
记忆中的诺
帮助1

简介

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指令。

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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfkchbe
系列文章
更多 icon
同类精品
更多 icon
继续加载