Link 64 位系统和程序上的 32 位库

Link 32bits library on 64bit system and program

我有一个共享对象文件 libfoo.so,我认为它是 32 位的:

libfoo.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=....

我正在 64 位 Linux 上开发,我可以只 link 到库,还是必须使用 -m32 开关,在这种情况下,我的所有代码都会内置32位。

所有代码的位数必须相同才能 link。如果可以,请获取该库的 64 位版本,否则您将不得不使用 -m32 来制作一个硬壳的旧 32 位可执行文件。