在/ usr / bin中/ x86_64的-Linux的GNU-LD:找不到?(/usr/bin/

2019-09-29 02:57发布

我研究在Ubuntu 18.04 C语言(GCC 7.3)

make all输入命令,这个错误occurrs:

在/ 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目录。

我不知道解决方法的。

请帮我。

Answer 1:

-l选项是动态链接库(像libkeccak.so )。 静态库链接到已如果他们在“标准”目录中的一个可执行文件,所以没有必要提供的选项-lkeccak

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

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


文章来源: /usr/bin/x86_64-linux-gnu-ld: cannot find?