gpt4 book ai didi

c - 共享库重定位 R_X86_64_PC32 错误

转载 作者:太空狗 更新时间:2023-10-29 12:36:41 25 4
gpt4 key购买 nike

我正在尝试在 64 位 Ubuntu 机器上制作 32 位库。我正在创建 .so 如下

gcc - shared -Wl,-soname,libtest.so *.o

我得到/usr/bin/ld:重定位 R_X86_64_PC32 符号“set_bright”在创建共享对象时不能使用;使用 -fPIC 重新编译。

我已经尝试使用 -fPIC 进行编译。它没有用。

如果我需要在编译 .c 时使用任何标志或在创建 .so 时使用某些标志,请告诉我

谢谢,

最佳答案

我相信如果你在那里调用一个声明为隐藏的函数,你会得到那个错误,例如

int set_hidden(void) __attribute__((visibility("hidden")));

并且它没有在同一个共享对象中定义。

要解决它,您还必须链接包含 set_hidden 定义的目标文件,或者删除对它的调用。

关于c - 共享库重定位 R_X86_64_PC32 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9728213/

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