[英]makefile cant find .o files
我對制作文件非常陌生,但是在瀏覽了很多資源之后,我無法找出為什么我的制作文件不起作用的原因,它是針對C ++的,說明如下。
CC=g++
CFLAGS=-g -Wall -pedantic -ansi
SOURCES=commercial.cpp comRentals.cpp comSales.cpp property.cpp rentals.cpp residential.cpp resRentals.cpp resSales.cpp sales.cpp testPropertyA.cpp utility1.cpp
OBJECTS=$(SOURCES:.cpp=.o)
TARGET = runme
all: $(TARGET)
$(TARGET): $(OBJECTS)
$(CC) $(CFLAGS) -o $(TARGET) $(OBJECTS)
.cpp.o:
$(CC) $(CFLAGS) -c $< -o $@
.PHONY: clean
clean:
-del $(OBJECTS) $(TARGET).exe
從Windows 7命令行運行時不斷說以下內容
C:\Users\Stat Phantom\Desktop\UNIVERSITY\C++\Assignment1\StartUpCode\TaskA>make
g++ -g -Wall -pedantic -ansi -c commercial.cpp -o commercial.o
process_begin: CreateProcess(NULL, g++ -g -Wall -pedantic -ansi -c commercial.cp
p -o commercial.o, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [commercial.o] Error 2
不知道這里發生了什么,請幫忙,這可能很簡單。
更新:刪除了包含的標簽,並向.cpp.o添加了$ @:但是發生了相同的錯誤
您需要在-o
之后指定輸出文件名:
替換為:
.cpp.o:
$(CC) $(CFLAGS) $(INCLUDES) -c $< -o
有了這個:
.cpp.o:
$(CC) $(CFLAGS) -c $< -o $@
注意: $(INCLUDES)
也需要刪除。
編輯:進一步檢查后,實際問題似乎僅僅是因為OP沒有安裝g ++。 相關的答案在另一個SO問題中可用: 使用MinGW在Windows上編譯Small Gcc項目
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.