[英]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.