繁体   English   中英

makefile无法找到.o文件

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM