46

我刚刚使用 VS2008 在 64 位 Windows 机器上构建了 libpng。它会libpng.lib在 \projects\visualc71\Win32_Lib_Release 目录中生成一个文件(使用的配置是“LIB Release”)。

我曾经dumpbin检查过这个 LIB 文件:

C:\Temp\libpng-1.4.3>dumpbin projects\visualc71\Win32_LIB_Release\libpng.lib
Microsoft (R) COFF/PE Dumper Version 9.00.30729.01
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file projects\visualc71\Win32_LIB_Release\libpng.lib

File Type: LIBRARY

  Summary

         8E4 .debug$S
         DF2 .drectve
        2BCD .rdata
       21165 .text

C:\Temp\libpng-1.4.3>

但是它没有显示 LIB 文件的体系结构。如何确定给定的 LIB 文件是为 32 位还是 64 位架构构建的?

4

1 回答 1

65

使用垃圾箱 /headers

机器类型几乎是您将获得的第一行。

x86 为 14c,x64 为 8664

n:>dumpbin lib642.lib /headers

Microsoft (R) COFF/PE Dumper 版本
10.00.30319.01 版权所有 (C) Microsoft Corporation。版权所有。

文件 lib642.lib 的转储

文件类型:图书馆

文件头值 8664 机器 (x64

或者

n:>dumpbin Lib32.lib /headers

Microsoft (R) COFF/PE Dumper 版本
10.00.30319.01 版权所有 (C) Microsoft Corporation。版权所有。

文件 Lib32.lib 的转储

文件类型:图书馆

文件头值 14C 机器 (x86)

于 2010-07-26T16:31:21.083 回答