0

我有这个简单的规则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语法。

这个通配符规则错了吗?

4

1 回答 1

1

你的目标是错误的。改变

%.o: $.cpp

%.o: %.cpp
于 2012-06-19T16:52:14.470 回答