C++ g++;在终端中运行make命令时发生编译错误(致命错误)

C++ g++;在终端中运行make命令时发生编译错误(致命错误),c++,visual-studio-code,makefile,C++,Visual Studio Code,Makefile,我在Windows10中安装了VisualStudio代码。我想运行我的C++程序。我有一个简单的文件:hello.cpp。我已经创建了一个make文件 这是我的C++文件: hello .CPP #include<iostream> using namespace std; int main(){ cout<<"Hello world "<<std::endl; return 0; } 有人能帮我解决这个错误吗?(

我在Windows10中安装了VisualStudio代码。我想运行我的C++程序。我有一个简单的文件:hello.cpp。我已经创建了一个make文件

这是我的C++文件:<强> hello .CPP

#include<iostream>

using namespace std;

int main(){
    cout<<"Hello world "<<std::endl;
    return 0;
}

有人能帮我解决这个错误吗?(提示:我的文件hello.cpp在testing文件夹中)

我将解释其他评论者的想法:如果
OBJ
变量为空,那么在给定makefile的情况下,获得此处所见输出的唯一方法是。
OBJ
可以为空的唯一方法是
SRC
为空。
SRC
可以为空的唯一方法是将
通配符
函数扩展为空字符串。
通配符
扩展为空字符串的唯一方法是如果它与任何内容都不匹配。所以,问题是为什么通配符函数不匹配

有两种可能性。首先,您输入的路径错误,这只是一个输入错误

第二个问题是,你似乎在使用Windows,Windows上的一切都很困难和烦人。特别是,Windows上有多种不同的环境:有一种cygwin风格的环境,类似POSIX的路径映射到类似Windows的路径(例如,
/d/foo/bar
映射到
d:\foo\bar
)。有一个MinGW风格的环境,其中使用了Windows风格的路径,但为了简化操作,可以使用正斜杠而不是反斜杠。然后是完整的Windows cmd.com环境,您必须使用反斜杠。不同的地方需要使用不同的方法

GNUMake在Windows上有两种版本:cygwin版本和MinGW/VisualStudio版本。如果您有cygwin版本,则需要使用类似POSIX的路径。如果您使用的是MinGW/visualstudio版本,则需要使用Windows路径,但要使用正斜杠而不是反斜杠。因此,如果您拥有MinGW/Visual Studio版本的GNU make,您应该编写:

SRCDIR = D:/courseera/courses/testing

(假设路径正确)。

您真的有一个名为“d”的目录吗?d是我保存文件的本地目录。您的makefile显示根目录中有一个名为“d”的目录。你绝对确定有一个吗?D是我的驱动器(本地驱动器),然后修复你的makefile,这样它就不会说
D
在根目录下。