我有这个makefile
CFLAGS=-g
LDFLAGS=-g
exec: fluxo.o validar.o ficheiroParaMemoria.o
fluxo.o: fluxo.c
validar.o: validar.c validar.h
ficheiroParaMemoria.o: ficheiroParaMemoria.c ficheiroParaMemoria.h
clean:
rm -f run *.o
它创建了3个.o文件,但没有创建可执行文件。 Fluxo.c具有主要功能。
不可见项仅显示在每行的末尾,并且在clean命令之前有一个Tabe
最佳答案
抱歉,我不了解您的Makefile,但这是我项目中的Works Makefile:
CC = gcc
FLAGS = -std=c99
DEST_PATH = "./bin/main"
all: clean main.o Smtp.o Base64.o
$(CC) build/*.o -o $(DEST_PATH) $(FLAGS)
main.o: src/main.cpp src/Service/Smtp.hpp
$(CC) src/main.cpp -c -o build/main.o $(FLAGS)
Smtp.o: src/Service/Smtp.cpp src/Service/Smtp.hpp
$(CC) src/Service/Smtp.cpp -c -o build/Smtp.o $(FLAGS)
Base64.o: src/Service/Base64.cpp src/Service/Base64.hpp
$(CC) src/Service/Base64.cpp -c -o build/Base64.o $(FLAGS)
clean:
rm -f build/*
-c
标志创建目标文件(.o)。在您的示例中,除了
rm
外,我没有看到任何实际命令。希望对您有所帮助。
关于c - Makefile不会创建最终可执行文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54948395/