我正在尝试编译this code一段时间。具体来说,我正在尝试使用给定的mac编译avx2代码。但是,我总是收到以下错误。 我已经查了很多但无法找到解决方案。如果你帮我找到解决方案,我将非常高兴。
/ usr / bin / ld:找不到-lc
collect2:错误:ld返回1退出状态
make:*** [test / test_kyber]错误1
gcc版
gcc(GCC)4.8.5 20150623(Red Hat 4.8.5-11)
版权所有(C)2015 Free Software Foundation,Inc。
这是免费软件;查看复制条件的来源。没有 保证;甚至不适用于适销性或特定用途的适用性。
Clang版本:
clang version 3.4.2(tags / RELEASE_34 / dot2-final)
目标:x86_64-redhat-linux-gnu
线程模型:posix
输出运行make命令。
/ usr / bin / gcc -Wall -Wextra -O3 -fomit-frame-pointer -msse2avx -mavx2 -march = native -static -o test / test_kyber kyber.c poly.c polyvec.c fips202.o fips202x4。 c precomp.c ntt.c verify.c indcpa.c consts.c kex.c nttlevels0t4.s nttlevels5t7.s mul_coefficients.s polyvec_pointwise_acc.s poly_add.s poly_sub.s cbd.s poly_freeze.s crypto_stream_aes256ctr.c keccak4x / KeccakP- 1600次4-SIMD256.o randombytes.c test / test_kyber.c
/ usr / bin / ld:找不到-lc
collect2:错误:ld返回1退出状态
make:*** [test / test_kyber]错误1
答案 0 :(得分:1)
非常感谢你的帮助和时间。我明白了这个问题。 makefile添加了一个-static标志,但在我们的办公室机器上,我们没有静态的libc.a.因此,错误“找不到-lc”。我删除了静态标志,现在工作正常。 我认为我们不需要静态的libc.a,但我必须更仔细地检查。