1.问题背景
我们在使用VS Code运行和调试cpp(c++)程序时,总是经常出现恼人的“未找到Make”、“找不到Makefile入口点”的报错信息。

虽然对于我们平常编写的简单的单源文件程序,上述两条报错信息并没有实质影响,忽略它们并不影响程序生成和执行,但是总是出现,也很烦躁。对于多源文件程序开发来说,Makefile是必不可少的,下面我们逐一讨论如何解决它们。
问题1
其中“未找到Make”是由于本机中找不到make.exe这个文件,可以使用mingw64的mingw-make.exe代替,在原路径(c:\mingw64\bin)下将其复制一份并改名为make.exe即可。
问题2
“找不到Makefile入口点”是由于没有设置Makefile所致,有两种方法来解决此问题。
2.方法一:
1.手动配置Makefile
2.用make生成可执行文件
2.1.在项目根目录下新建Makefile文件,其内容如下 (注意第二行前面必须有一个Tab键):
helloworld:helloworld.cpp
g++ -std=c++23 -o helloworld helloworld.cpp
2.2.用CMD窗口,切换路径到项目根目录下,运行make
1 2 3 4 5 6 7 8 9 10 |
C:\>cd projects\cpp\helloworld C:\projects\cpp\helloworld>make g++ -std=c++23 -o helloworld helloworld.cpp C:\projects\cpp\helloworld>.\helloworld Hello C++ World from VS Code and the C++ extension! 3.14159 |
生成执行程序正常,并且程序运行正常。再次进行运行调试操作,发现不再报上述错误信息。
关于Makefile的配置,请参考:B站Makefile的简单入门视频
3.方法二:
1.使用CMake自动生成Makefile
2.然后再用make生成可执行文件
3.1.新建 CMakeList.txt文件
在项目根目录下新建工作目录 build,并在项目根目录下新建 CMakeList.txt文件,创建内容如下,按 ctrl+S键保存,保存后 Vs Code会自动运行 cmake,编译并生成过程文件(非最终的可执行文件)。
1 2 3 4 5 6 7 |
cmake_minimum_required(VERSION 3.25) project(helloworld) add_executable(helloworld helloworld.cpp) |
3.2.运行make报错
在终端窗口或CMD窗口,进入项目根目录下的 build目录,运行 make,生成可执行文件,发现报错如下:

终端窗口输出的错误信息摘录如下:
1 2 3 4 5 6 7 8 9 10 |
C:\projects\cpp\helloworld\build>make [ 50%] Building CXX object CMakeFiles/helloworld.dir/helloworld.cpp.obj C:\projects\cpp\helloworld\helloworld.cpp: In function 'int main()': C:\projects\cpp\helloworld\helloworld.cpp:18:13: error: 'numbers' has not been declared 18 | cout << numbers::pi << endl; //c++20鏍 ^~~~~~~ make[2]: *** [CMakeFiles\helloworld.dir\build.make:75: CMakeFiles/helloworld.dir/helloworld.cpp.obj] Error 1 make[1]: *** [CMakeFiles\Makefile2:82: CMakeFiles/helloworld.dir/all] Error 2 make: *** [Makefile:90: all] Error 2 |
报错信息提示“number未声明”,这还是c++标准配置的问题。
3.3.修改 CMakeList.txt文件
修改 CMakeList.txt文件,增加一条 set语句将语言标准设为 C++23,修改后内容如下,按 ctrl+S键保存,系统自动运行 cmake,编译并生成过程文件(非最终的可执行文件)。
1 2 3 4 5 6 7 8 9 10 |
cmake_minimum_required(VERSION 3.25) # 设置C++标准为c++23,cmake版本最低为3.20 set(CMAKE_CXX_STANDARD 23) project(helloworld) add_executable(helloworld helloworld.cpp) |
3.4.再次运行 make正常
在终端窗口或CMD窗口,进入项目根目录下的 build目录,运行 make,即可生成可执行文件,启动运行输出正常。
1 2 3 4 5 6 7 8 9 10 |
C:\projects\cpp\helloworld\build>make [ 50%] Building CXX object CMakeFiles/helloworld.dir/helloworld.cpp.obj [100%] Linking CXX executable helloworld.exe [100%] Built target helloworld C:\projects\cpp\helloworld\build>.\helloworld Hello C++ World from VS Code and the C++ extension! 3.14159 |
关于CMake的使用,请参考:B站Cmake的入门视频以及使用 CMake 预设进行配置和生成。
This is a demo advert, you can use simple text, HTML image or any Ad Service JavaScript code. If you're inserting HTML or JS code make sure editor is switched to 'Text' mode.
[…] 如何解决请参阅:VS Code调试Cpp程序时报“未找到Make”错误问题。 […]