gcc链接器如何选择/ usr / lib与/ usr / lib64进行库分辨率?

时间:2010-11-08 00:14:45

标签: gcc 64-bit porting linker-errors pam

我与gcc的链接包含以下两个条目:

-lrt
-lpam

这似乎扩展为:

/usr/lib64/librt.so /usr/lib/libpam.so

为什么rt被解析为lib64而pam被解析为lib并因此失败:

/usr/lib/libpam.so: could not read symbols: File in wrong format

因为它只有32位ELF。有一个64位ELF的/usr/lib64/libpam.so,为什么不采用它?

1 个答案:

答案 0 :(得分:1)

尝试使用-m32强制使用32位。还要检查您正在编译的.bashrc或.bash_profile设置的任何环境变量,以确定是否有任何交叉连接。