/usr/bin/ld: cannot find : No such file or directory - 由 makefile 错误引起

时间:2020-12-22 14:58:41

标签: c++ c makefile

美好的一天。

我正在尝试为大学作业编译易受攻击的 vsftpd 版本。我在将源代码编译到为托管易受攻击的 ftp 服务器而启动的 lxc 容器上时遇到了麻烦。当我尝试执行 make 命令时,下面的消息向我吐口水:

/usr/bin/ld: cannot find : No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:24: vsftpd] Error 1

尽管我多年编写代码,但总的来说,我对 C++ 还是很陌生,但是我认为这可能与 Makefile 的第 24 行有关,如下突出显示:

# Makefile for systems with GNU tools
CC  =   gcc
INSTALL =   install
IFLAGS  = -idirafter dummyinc
#CFLAGS = -g
CFLAGS  =   -O2 -Wall -W -Wshadow #-pedantic -Werror -Wconversion

LIBS    =   `./vsf_findlibs.sh`
LINK    =   -Wl,-s, -lcrypt

OBJS    =   main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o \
        tunables.o ftpdataio.o secbuf.o ls.o \
        postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o \
    banner.o filestr.o parseconf.o secutil.o \
    ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o \
    tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o \
    ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o


.c.o:
    $(CC) -c $*.c $(CFLAGS) $(IFLAGS)

vsftpd: $(OBJS) 
    24th line >>>> $(CC) -o vsftpd $(OBJS) $(LINK) $(LIBS) $(LDFLAGS)

install:
    if [ -x /usr/local/sbin ]; then \
        $(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \
    else \
        $(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi
    if [ -x /usr/local/man ]; then \
        $(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
        $(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
    elif [ -x /usr/share/man ]; then \
        $(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
        $(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
    else \
        $(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
        $(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
    if [ -x /etc/xinetd.d ]; then \
        $(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi

clean:
    rm -f *.o *.swp vsftpd

尽管我进行了研究,但我不明白如何解决这个问题。

提前致谢。

0 个答案:

没有答案