2013-03-18 96 views
0

我目前正在编写一个能够编译不同目标(如调试,开发,发布)的生成文件。链接和编译规则看起来像:制作模式规则不被识别

$(DEVELOPMENT_OUT): $(subst rep,development,$(OBJS)) 
    g++ -o $(DEVELOPMENT_OUT) $(subst rep,development,$(OBJS)) 

obj/development/%.o: src/%.cpp 
    g++ -c -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o "[email protected]" "$<" 

现在,我得到这样的输出:

make: *** No rule to make target 'obj/development/Main.o', needed by 'bin/Development.exe'. Stop. 

但不宜模式规则申请Main.o?

我使用MinGW的GNU Make 3.82.90

回答

1

这里没有足够的信息来说明为什么它不起作用。如果你确定你有一个文件src/Main.cpp那么应该选择该规则。 cpp文件是源文件还是生成的文件?如果产生了,那么真正的问题可能会降低,发生的地方就是这样。您可以尝试使用make -d来查看正在做什么以及它为什么不喜欢这个规则。

+0

是的,我忘了创建文件 – 2013-03-19 18:04:57