【开发环境配置】VScode里面配置cmake遇到的问题

前置

最近在着手学习 CMake,在学习过程中遇到了各种报错,查资料解决了半天,真的很耗时。现在将三种报错情况和一些解决办法总结出来分享给大家。

在开始解决之前我们需要确保 vscode 里面安装了如下几个扩展包:

并且路径下编写好了 CMakeList.txt 文件,不知道的小伙伴可以先去学习怎么去编写 cmake。

问题及解决办法、

问题1

-- Building for: NMake Makefiles Running failed with: no such file or directory CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage -- Configuring incomplete, errors occurred!

1、**未安装编译器:**由于我们使用的是 vscode,它只是一个代码编辑器,并不能直接帮我们配置好编译器环境,需要我们去手动安装合适的编译器,下面是常用的 C/C++ 编译器。

  • Windows: MinGW-w64MSVC(需安装 Visual Studio)
  • Linux/macOS: gcc/clang(通过包管理器安装,如 sudo apt install build-essential

2、环境变量未设置: 安装好编译器后,如果我们没有正确配置环境变量,也会导致找不到编译器,报错。这种情况一般出现在 windows 环境下。

我们可以在命令窗口使用 gcc -version(c编译器)去查看是否配置成功。配置环境成功如下:

如果不成功也没关系,下面教大家如何配置

右键此电脑 -> 点击属性 -> 点击高级系统设置 -> 点击环境变量 -> 在系统变量中找到并点击 "Path" 这个变量 -> 点击新建去添加编译器路径。

例如我使用的是 MinGW 编译器,我添加的路径就是 C:\mingw\bin。

这样我们就配置好环境了,重启命令窗口再次 gcc -v 看一下环境配置是否成功。

问题2

CMake Error at CMakeLists.txt:2 (project):
Running
'nmake' '-?'
failed with:
no such file or directory

-- Configuring incomplete, errors occurred!
Usage
cmake [options] <path-to-source>
cmake [options] <path-to-existing-build>

Specify a source directory to (re-)generate a build system for it in the current working directory. Specify an existing build directory to re-generate its build system.

Run 'cmake --help' for more information.

1、**CMake配置问题:**如果上述问题的解决办法全部完成的情况下还报错,那大概率就是 CMake 没有去配置。

我们打开 vscode,然后按下Ctrl + Shift + p 进入命令面板,输入CMake: Select a Kit。点击后我们可以直接选择编译器,这样之后再次 cmake .. 就可以成功了

2、如果后续还是用问题的话

cmake -G "MinGW Makefiles" ..

3、依据不可以的话,那还有最后一种办法,可以指定上 make.exe 的路径

cmake -DCMAKE_MAKE_PROGRAM=C:/Users/Downloads/mingw/bin/make.exe -G "MinGW Makefiles" ..

问题3

如果遇到的问题如下:

是因为没有将 cmake 添加到环境变量。去系统环境变量 path 中添加 yourpath/cmake/bin 这个路径。

右键此电脑 -> 点击属性 -> 点击高级系统设置 -> 点击环境变量 -> 在系统变量中找到并点击 "Path" 这个变量 -> 点击新建去添加cmake路径。

相关推荐
范纹杉想快点毕业21 小时前
单片机开发中的队列数据结构详解,队列数据结构在单片机软件开发中的应用详解,C语言
c语言·数据库·stm32·单片机·嵌入式硬件·mongodb·fpga开发
坚持编程的菜鸟1 天前
LeetCode每日一题——有效的字母异位词
c语言·算法·leetcode
小糖学代码1 天前
STL的list模拟实现(带移动构造和emplace版本)
c语言·数据结构·c++·windows·list
王嘉俊9251 天前
Qt 入门:构建跨平台 GUI 应用的强大框架
c语言·开发语言·c++·qt·入门·cpp
开心-开心急了1 天前
Windows 解决vscode 无法激活 miniconda 虚拟环境问题
windows·vscode·conda
fenghx2581 天前
vscode使用arcpy-选择arcgis带的python+运行错误解决
vscode·python·arcgis
迎風吹頭髮1 天前
UNIX下C语言编程与实践8-UNIX 静态库原理与创建:ar 命令的使用与静态库调用全流程
服务器·c语言·unix
迎風吹頭髮1 天前
UNIX下C语言编程与实践12-lint 工具使用指南:C 语言源代码语法与逻辑错误检查实战
服务器·c语言·unix
迎風吹頭髮1 天前
UNIX下C语言编程与实践11-UNIX 动态库显式调用:dlopen、dlsym、dlerror、dlclose 函数的使用与实例
服务器·c语言·unix
迎風吹頭髮1 天前
UNIX下C语言编程与实践5-C 语言编译器 cc(gcc/xlc)核心参数解析:-I、-L、-D 的使用场景与实例
服务器·c语言·unix