是否在linux中有一个命令来查明库是否已在32位或64位模式下构建

ant*_*009 7 c linux

gcc 4.5.1
Fedora 14 Linux
Run Code Online (Sandbox Code Playgroud)

我有这个静态库,它是从以前的程序员构建的.但是,他离开了公司,我们没有源代码.我们所拥有的只是头文件*.hlibnet.a静态库.

当我尝试将其与我们的应用程序链接时.我得到了incompatible linker error.我认为问题是静态库是在32位机器上构建的.我正在尝试使用64位机器进行链接.我可以使用cflag -m32编译我的应用程序.但是,我只是想知道如果静态库是在32位或64位模式下构建的,是否有任何命令可以提供给我?

非常感谢任何建议,

小智 8

一个.a档案只是一个对象的集合,那么为什么不:

ar x libnet.a
file someobj.o
Run Code Online (Sandbox Code Playgroud)

这会给你一个答案:

someobj.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped
Run Code Online (Sandbox Code Playgroud)


Chr*_*heD 7

只是跑file过来就足够了?