g++.exe[警告]链接器输入文件未使用,因为链接未完成

g++.exe [Warning] linker input file unused because linking not done

本文关键字:链接 文件 未使用 未完成 因为 输入 exe 警告 g++      更新时间:2023-10-16

我在使用C Makefile时有一些麻烦。它发生在我打开项目文件编译时。

错误如下:

[警告]重写目标' DuLieuNganHang.o'的配方

[警告]忽略目标' DuLieuNganHang.o'的旧配方

g++.exe[警告]链接器输入文件未使用,因为链接未完成

g++.exe g++.exe D:TinNCMRTg++.exe DuLieuNganHang。o:没有这样的文件或目录中。

g++.exe g++.exe D:TinNCMRTg++.exe DuLieuNganHang。o:没有这样的文件或目录中。

D: TinNC 捷运 Makefile。win [Error] [MRT.exe] Error 1

下面是Makefile的内容:

# Project: MRT
# Makefile created by Dev-C++ 5.3.0.4
CPP      = g++.exe -D__DEBUG__
CC       = gcc.exe -D__DEBUG__
WINDRES  = windres.exe
OBJ      = main.o MRT.o TaiKhoan.o Tien.o HoaDon.o GiaoDich.o NhatKyGiaoDichMRT.o DuLieuNganHang.o PhanCung.o DuLieuNganHang.o $(RES)
LINKOBJ  = main.o MRT.o TaiKhoan.o Tien.o HoaDon.o GiaoDich.o NhatKyGiaoDichMRT.o DuLieuNganHang.o PhanCung.o DuLieuNganHang.o $(RES)
LIBS     = -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib" -static-libgcc -g3
INCS     = -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include"
CXXINCS  = -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include"
BIN      = MRT.exe
CXXFLAGS = $(CXXINCS)  -g3
CFLAGS   = $(INCS)  -g3
RM       = rm -f
.PHONY: all all-before all-after clean clean-custom
all: all-before $(BIN) all-after

clean: clean-custom
${RM} $(OBJ) $(BIN)
$(BIN): $(OBJ)
$(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)
main.o: main.cpp
$(CPP) -c main.cpp -o main.o $(CXXFLAGS)
MRT.o: MRT.cpp
$(CPP) -c MRT.cpp -o MRT.o $(CXXFLAGS)
TaiKhoan.o: TaiKhoan.cpp
$(CPP) -c TaiKhoan.cpp -o TaiKhoan.o $(CXXFLAGS)
Tien.o: Tien.cpp
$(CPP) -c Tien.cpp -o Tien.o $(CXXFLAGS)
HoaDon.o: HoaDon.cpp
$(CPP) -c HoaDon.cpp -o HoaDon.o $(CXXFLAGS)
GiaoDich.o: GiaoDich.cpp
$(CPP) -c GiaoDich.cpp -o GiaoDich.o $(CXXFLAGS)
NhatKyGiaoDichMRT.o: NhatKyGiaoDichMRT.cpp
$(CPP) -c NhatKyGiaoDichMRT.cpp -o NhatKyGiaoDichMRT.o $(CXXFLAGS)
DuLieuNganHang.o: DuLieuNganHang.cpp
$(CPP) -c DuLieuNganHang.cpp -o DuLieuNganHang.o $(CXXFLAGS)
PhanCung.o: PhanCung.cpp
$(CPP) -c PhanCung.cpp -o PhanCung.o $(CXXFLAGS)
DuLieuNganHang.o: DuLieuNganHang.txt
$(CPP) -c DuLieuNganHang.txt -o DuLieuNganHang.o $(CXXFLAGS)

谢谢!

答案就在你的警告里:

[警告]重写目标' DuLieuNganHang.o'的配方

[警告]忽略目标' DuLieuNganHang.o'的旧配方

这告诉你某个点正在检测如何构建DuLieuNgangHang的第二个配方。0,忽略第一个配方。

看看你的makefile,第一条规则说构建DuLieuNganHang。来自DuLieuNganHang.cpp。第二个食谱说从DuLieuNganHang.txt构建它。鉴于你的错误信息说DuLieuNganHang。如果不存在,您可能没有DuLieuNganHang.txt文件(否则,当它试图将文本文件解析为c++文件时,我预计会出现编译器错误)。

您应该能够通过删除DuLieuNganHang.o的第二条规则来纠正您的问题。