编译后出现 make error 127

Getting make error 127 after compile

在学习了 C++ 的基础知识后,我正在尝试自学 gnuMake

我运行宁Ubuntu 14.04相当于(初级os)

我收到错误(make 运行 的完整输出):

g++ ./main.o -w  -o test
This is a test!
/bin/sh: 1: This: not found
make: *** [exe] Error 127

我的生成文件:

CC=g++
SRC=$(shell find -name '*.cpp')
OBJS= $(SRC:.cpp=.o)
EXEC=test
FLAGS= -w
LINKS=

%.o: %.cpp
    $(CC) -c $*.cpp -o $*.o

$(EXEC): $(OBJS)
    $(CC) $(OBJS) $(FLAGS) $(LINKS) -o $(EXEC)

all: $(EXEC)

exe: 
    $(shell ./$(EXEC))

run: all exe

clean: 
    rm -rf *.o $(EXEC)

这是学习基础制作教程和阅读 github

中的 Makefile 的结合

main.cpp:

#include <iostream>

using namespace std;

int main()
{
    cout << "This is a test!" << endl;

    return 0;
}

相当基础,但将对其进行扩展以帮助学习使用和扩展我的 Makefile。现在我可以看到程序编译和 运行s,但我在 运行.

之后得到错误

我搜索了 Make error 127,它似乎为很多事情输出了该错误,但我没有看到错误的定义,也没有看到与我的类似的问题。

$(shell ./$(EXEC) 不正确。

这就是让 运行 成为可执行文件,然后用可执行文件的输出替换 $(shell ./$(EXEC),然后尝试 运行 作为配方中的命令。

你只要

exec: $(EXEC)
    ./$<