生成文件中的通配符目标不起作用



Makefile有这个简单的规则:

PP=g++ -std=c++0x
%.o: $.cpp
        $(PP) $< -c -o $@

当我运行make parse_utils.o时,执行的命令应该是:

g++ -std=c++0x parse_utils.cpp -c -o parse_utils.o

但实际上它是:

>make parse_utils.o
g++    -c -o parse_utils.o parse_utils.cpp

我得到了一个编译错误,因为我使用了C++11语法。

这个通配符规则错了吗?

你的目标错了。改变

%.o: $.cpp

%.o: %.cpp

最新更新