VScode中使用Cmake遇到的问题及其解决方法(推荐)

 更新时间:2020年05月18日 11:51:01   作者:弯曲时空  
这篇文章主要介绍了VScode中使用Cmake遇到的问题及其解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

VS code配置步骤先按照网上的方法完成,大概就是安装mingw,cmake,VS code,然后安装VS code中的插件:

在这里插入图片描述

安装好之后,新建文件夹/项目如下:

在这里插入图片描述

其中,build是打开文件夹以后自动生成的。test中是源文件还有项目文件等。

打开终端(可以是powershell,也可以是vscode中的终端),进入到build中,使用

cmake -G "MinGW Makefiles" ..

其中的 MinGW Makefiles 可以修改成其他的编译选项。根据错误的提示来选择就好。
如果cmake的配置出错,有可能是没有选择kit,Ctrl+Shift+P输入

Cmake: Select a Kit

选择一个kit,我这里选择是有mingw的那个GCC的选项。如果不行的话就再选择另外一个。

成功之后会生成makefile。网上说要输入

make

去生成可执行文件,但是我这里总是会报错:

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

(为了解决这个问题,还专门去下载GNU make,添加了相应的系统环境变量。但是也没有解决问题。最后将GNU make卸载了。)用make的命令其实是想调用make的exe文件,不用输入路径是因为在环境变量中添加了相应的路径。但是其实在安装mingw的时候已经安装了make命令,调用不到是因为那个exe文件没有改成make.exe。可以使用

mingw32-make

命令来执行make的命令,也可以将mingw32-make.exe改名成make.exe,然后输入

make

来执行。成功之后,在终端接着输入

./TEST_C.exe

其中TEST_C是项目名称。 这样就可以得到程序的输出啦。

附:

CmakeLists.txt内容:

cmake_minimum_required (VERSION 3.0)
project(Main)
set(CMAKE_C_COMPILER "gcc")
add_executable(TEST_C test/test_mod.c)

test/test_mod.c的内容:

#include<stdlib.h>
#include<stdio.h>

int main(){
  int a = -123;
  int b, c;
  b = a / 10;
  c = a % 10;
  printf("%d, %d\n", b ,c);
  system("pause");
}

总结

到此这篇关于VScode中使用Cmake遇到的问题及其解决方法的文章就介绍到这了,更多相关VScode 使用 Cmake内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈C++ Socket编程

    浅谈C++ Socket编程

    本文给大家简单介绍了C++中的Socket编程的种类以及sockets编程的8个步奏,简单生动,有需要的小伙伴可以参考下
    2017-07-07
  • C++顺序表的基本操作(使用模版类)

    C++顺序表的基本操作(使用模版类)

    这篇文章主要为大家详细介绍了C++顺序表的基本操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • C++实现LeetCode(347.前K个高频元素)

    C++实现LeetCode(347.前K个高频元素)

    这篇文章主要介绍了C++实现LeetCode(347.前K个高频元素),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 关于C++使用std::chrono获取当前秒级/毫秒级/微秒级/纳秒级时间戳问题

    关于C++使用std::chrono获取当前秒级/毫秒级/微秒级/纳秒级时间戳问题

    这篇文章主要介绍了C++使用std::chrono获取当前秒级/毫秒级/微秒级/纳秒级时间戳,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • Qt QMessageBox类使用教程

    Qt QMessageBox类使用教程

    QMessageBox类提供一个模态对话框,用于通知用户或询问用户一个问题并接收答案。这篇文章主要介绍了QMessageBox的一些常用用法,需要的小伙伴快来学习一下
    2021-12-12
  • C语言详解如何实现堆及堆的结构与接口

    C语言详解如何实现堆及堆的结构与接口

    堆是计算机科学中一类特殊的数据结构的统称,通常是一个可以被看做一棵完全二叉树的数组对象。而堆排序是利用堆这种数据结构所设计的一种排序算法。本文将详细介绍堆的结构与接口,需要的可以参考一下
    2022-04-04
  • C语言中const和define的区别你了解嘛

    C语言中const和define的区别你了解嘛

    这篇文章主要为大家详细介绍了C语言中const和define的区别,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • C/C++利用原生套接字抓取FTP数据包

    C/C++利用原生套接字抓取FTP数据包

    这篇文章主要为大家详细介绍了如何基于原始套接字的网络数据包捕获与分析工具,通过实时监控网络流量,实现抓取流量包内的FTP通信数据,需要的小伙伴可以参考下
    2023-12-12
  • C语言数据结构顺序表的进阶讲解

    C语言数据结构顺序表的进阶讲解

    程序中经常需要将一组数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化,顺序表则是将元素顺序地存放在一块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示
    2022-04-04
  • C++标准模板库STL深入讲解

    C++标准模板库STL深入讲解

    STL提供了一组表示容器、迭代器、函数对象和算法的模板。容器是一个与数组类似的单元,可以存储若干个值。STL容器是同质的,即存储的值的类型相同:算法是完成特定任务(如对数组进行排序或在链表中查找特定值)的处方
    2022-12-12

最新评论