/ usr / bin / x86_64-linux-gnu-ld:找不到?

时间:2018-09-19 02:33:53

标签: c ubuntu makefile ld

我在ubuntu 18.04(gcc 7.3)中学习C语言

输入make all命令时,会发生此错误:

  

/ usr / bin / x86_64-linux-gnu-ld:找不到-lkeccak

Makefile如下。

CC=gcc
CFLAGS=-03 -fomit-frame-pointer -msse2avx -mavx2 -march=native -std=c99

all:
    $(CC) $(CFLAGS) -c Lizard.c main.c randombytes.c sha512.c
    $(CC) $(CFLAGS) -o Lizard Lizard.o main.o randobytes.o sha512.o -lkeccak

run: all
    ./Lizard

new:
    make clean
    make all
    ./Lizard

当前libkeccak.a文件与Makefile位于同一目录中,并且 它也位于/usr/include目录中。

我根本不知道解决方法。

请帮帮我。

1 个答案:

答案 0 :(得分:0)

-l选项用于链接动态库(如libkeccak.so)。如果静态库位于“标准”目录之一中,则它们已经链接到可执行文件,因此无需提供选项-lkeccak

如果您想明确告诉GCC链接静态库,

gcc -l:/path/to/libkeccak.a