【问题标题】:/usr/bin/x86_64-linux-gnu-ld: cannot find?/usr/bin/x86_64-linux-gnu-ld:找不到?
【发布时间】:2019-02-23 02:48:02
【问题描述】:

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

我完全不知道解决方法。

请帮帮我。

【问题讨论】:

    标签: c ubuntu makefile ld


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-18
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-16
      • 2012-05-17
      • 2020-04-14
      相关资源
      最近更新 更多