2013-03-18 95 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