make:c:找不到命令

Mat*_*att 1 c++ linux cygwin makefile

我正在尝试运行我的make文件但是我收到以下两个错误:

make:c:找不到命令

make:o:找不到命令

我试图在cygwin中做这个.我有g ++并在其上安装,但是当我运行make文件时,我收到了这些错误.

有任何想法吗?

makefile:

all: MergeSort clean

MergeSort: main.o MergeSort.o
    $g++ -o MergeSort main.o MergeSort.o

main.o: main.cpp MergeSort.h
    $g++ -c main.cpp

MergeSort.o: MergeSort.cpp MergeSort.h
    $g++ -c MergeSort.cpp

clean:
    rm -rf *o

cleanall:
    rm -rf *o *exe
Run Code Online (Sandbox Code Playgroud)

Dan*_*her 5

您需要删除$$g++线.它试图扩展一些不存在的变量,并$g++ -从命令中吞下" ".

使用变量的语法是:

$(CXX) -c main.cpp
Run Code Online (Sandbox Code Playgroud)

在这种情况下,CXX是为您定义的C++编译器的路径.您可以通过将以下行添加到makefile来更改它:

CXX = g++
Run Code Online (Sandbox Code Playgroud)

如果您试图避免回显命令make正在运行,请使用@而不是$.