gpt4 book ai didi

unix - GCC 总是尝试使用静态 libc 库而不是共享库

转载 作者:行者123 更新时间:2023-12-04 19:44:14 26 4
gpt4 key购买 nike

我不确定我的服务器出了什么问题,它正在运行 CentOS 7,我最近尝试构建一个库并收到错误:

/usr/bin/ld: dynamic STT_GNU_IFUNC symbol `strcmp' with pointer equality in `/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libc.a(strcmp.o)' can not be used when making an executable; recompile with -fPIE and relink with -pie
collect2: error: ld returned 1 exit status

首先,我认为这是库源代码中的错误,但经过一些测试,我创建了一个最小的工作 C++ 程序:
#include <iostream>
int main() {
std::cout<<"works!";
}

我尝试首先静态构建它......
gcc -static main.c

作品。生成 a.out ,这是我所期望的,现在如果我输入......
gcc main.c

我得到与上面相同的错误,它试图链接 libc.a 但我没有指定静态链接。

最佳答案

我设法通过以下方式解决了它:
yum install glibc-devel.i686 glibc-i686

关于unix - GCC 总是尝试使用静态 libc 库而不是共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38953990/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com