【发布时间】:2016-07-20 17:07:09
【问题描述】:
谁能解释这三种架构之间的区别? 实际上,当我在 Linux 中构建一个 64 位应用程序时,我收到一个链接错误:
skipping incompatible library.a when searching for library.a
然后我在那个库上使用了objdump -f,得到了以下输出:
a.o: file format elf32-x86-64
architecture: i386:x64-32, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x00000000
这是否意味着库是 32 位的?这是我收到链接器错误的原因吗?
【问题讨论】:
-
请注意,静态库通常远比它们的价值要麻烦得多。如果您真的需要和不需要
setuid或任何其他capabilities,请使用动态库和${ORIGIN}-relative-rpath。