redis make - 未找到链接器输入文件:没有这样的文件或目录

问题描述 投票:0回答:1

我正在尝试在我的 ubuntu 22.04 机器上编译

redis
3.2 源代码

我的路径上有最新的

gcc
g++
clang
二进制文件。

> gcc --version
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0

> g++ --version
g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0

> clang --version
clang version 16.0.0
Target: x86_64-unknown-linux-gnu
Thread model: posix

当我尝试使用

> make MALLOC=libc
进行编译时,在构建
lua
依赖项时出现以下错误:

cc -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -DLUA_USE_MKSTEMP  -O2   x86_64 -c -o lapi.o lapi.c
cc: warning: x86_64: linker input file unused because linking not done
cc: error: x86_64: linker input file not found: No such file or directory

据我了解,

-c
仅强制编译而NOT允许链接,导致失败。

但我不明白

-c
标志是如何悄悄进入的及其来源。

非常感谢任何帮助,谢谢!

gcc makefile redis clang
1个回答
0
投票

我发现了问题。

我的环境有一个

TARGET_ARCH
变量设置为
x86_64
(
export TARGET_ARCH=x86_64
)。

这导致悬空的

x86_64
最终出现在编译命令中,我不知道如何。

当我取消设置时,

make
命令成功运行。

© www.soinside.com 2019 - 2024. All rights reserved.