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

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

在这里插入图片描述

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

在这里插入图片描述

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

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

1cmake -G "MinGW Makefiles" .. 2

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

1Cmake: Select a Kit 2

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

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

make

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

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

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

1mingw32-make 2

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

make

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

./TEST_C.exe

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

附:

CmakeLists.txt内容:

1cmake_minimum_required (VERSION 3.0) 2project(Main) 3set(CMAKE_C_COMPILER "gcc") 4add_executable(TEST_C test/test_mod.c) 5

test/test_mod.c的内容:

1#include<stdlib.h> 2#include<stdio.h> 3 4int main(){ 5 int a = -123; 6 int b, c; 7 b = a / 10; 8 c = a % 10; 9 printf("%d, %d\n", b ,c); 10 system("pause"); 11} 12

总结

代码交流 2021