繁体   English   中英

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

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

我在使用C Makefile时遇到麻烦。 当我在打开项目文件时进行编译时会发生这种情况。

错误如下:

[警告]目标“ DuLieuNganHang.o”的替代配方

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

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

g ++。exe g ++。exe D:\\ TinNC \\ MRT \\ g ++。exe DuLieuNganHang.o:没有这样的文件或目录。

g ++。exe g ++。exe D:\\ TinNC \\ MRT \\ g ++。exe DuLieuNganHang.o:没有这样的文件或目录。

D:\\ TinNC \\ MRT \\ Makefile.win [错误] [MRT.exe]错误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.o的第二个配方,而忽略了第一个配方。

查看您的makefile,第一个规则说要从DuLieuNganHang.cpp生成DuLieuNganHang.o。 第二个配方说要从DuLieuNganHang.txt构建它。 鉴于您的错误消息说DuLieuNganHang.o不存在,您可能没有文件DuLieuNganHang.txt(否则,当它尝试将文本文件解析为c ++文件时,我会期望编译器错误)。

您应该可以删除DuLieuNganHang.o的第二条规则来解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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