将 64 位 .so 转换为 32 位

标签 c linux

我有一个第三方 .so 是在 64 位机器上生成的。我想在 32 位机器上使用相同的 .so。任何人都知道如何进行转换?我试过:

objcopy "--input-target=elf64-x86-64" "--output-target=elf32-i386" 64bit.so 32bit.so

但我仍然从 gcc 收到“文件格式无法识别”。作为记录,我正在这样做:

gcc -g code.c 32bit.so

这有点 hack-y,但现在还可以。

最佳答案

你不能。

您需要获取此第 3 部分库的 32 位版本或从其源代码重新编译

关于将 64 位 .so 转换为 32 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9081950/

相关文章:

linux - .htaccess mod_rewrite 用于 web 服务以及隐藏其他文件

c++ - 无法在 qt creator (linux) 上链接共享库

linux - 如何使用 awk 在模式后添加多行

c - 如何在 C 语言中创建自定义数据类型字符串?

c++ - 使用 gdb 跟踪所有用户定义的函数调用

c - C 中的指针和数组

linux - 如何将 echo 语句和 arp 语句的输出放在一行中?

linux - 如何在 linux bash 脚本中用 "-"char (dash) 声明变量名

c - 从命令提示符读取行?

c - 文件的行数事先未知