C++ Makefile告诉我们最新的,但它不是

C++ Makefile告诉我们最新的,但它不是,c++,makefile,C++,Makefile,我的makefile没有什么特别的东西,在这里 main.cpp : g++ main.cpp -o fast.exe 它总是说main.cpp是最新的,我尝试了很多东西,但都没有效果。应该是: fast.exe: main.cpp g++ main.cpp -o fast.exe 这说明fast.exe依赖于main.cpp。如果先决条件中没有任何内容,make如果说它是最新的,那么它就是正确的 你的规则是,你的目标是main.cpp,这是错误的。您不希望从任何其他源生成m

我的makefile没有什么特别的东西,在这里

main.cpp :
    g++ main.cpp -o fast.exe
它总是说main.cpp是最新的,我尝试了很多东西,但都没有效果。

应该是:

fast.exe: main.cpp
    g++ main.cpp -o fast.exe
这说明fast.exe依赖于main.cpp。如果先决条件中没有任何内容,make如果说它是最新的,那么它就是正确的

你的规则是,你的目标是main.cpp,这是错误的。您不希望从任何其他源生成main.cpp,因为您通常是手工编写的。如果main.cpp是从工具创建的,则可以将main.cpp作为规则中的目标,并将main.cpp的源/输入作为前提条件。但我没想到main.cpp是由工具生成的