69

Is there any tool that can directly test if a library is made for 32 or 64 bit?

CharlesB
  • 86,532
  • 28
  • 194
  • 218
user705414
  • 20,472
  • 39
  • 112
  • 155

4 Answers4

67

Run a visual studio command prompt to ensure your path can find dumpbin.exe

Pipe to findstr to save on the big spew about each section and optionally you can use a wildcard to analyse a folder of libs.

dumpbin /headers *.lib | findstr machine

Example of what you're looking for;

8664 machine (x64)
Jet Set Willy
  • 858
  • 7
  • 7
62

You can use dumpbin utility with /headers option

It returns whether the library was built for 32 or 64 bit architecture.

Check DUMPBIN Reference for details.

Example usage:

c:\>dumpbin libXYZ.lib /headers
Scheff's Cat
  • 19,528
  • 6
  • 28
  • 56
Alok Save
  • 202,538
  • 53
  • 430
  • 533
0

I haven't tried this but you can also use file.exe, the unix file equivalent on windows. You can download the binary (and source as well) from here or gnu version here

Vikram.exe
  • 4,565
  • 3
  • 29
  • 40
  • 2
    That's just the standard GNU File tool, right? I have tried this with `file` from a recent version of MinGW from Git for Windows, and it says `current ar archive` for the x64 `python36.lib` distributed with Python 3.6 (Windows). – cjs Mar 14 '19 at 06:35
-1

In visual studio, we can get to know about whether Lib/dll is 32 or 64 bit with Coreflags.exe This tool is automatically installed with Visual Studio. we can run this command from Command line, which can be run as

 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\CorFlags.exe whatever_Lib_with_path

This command will return you whether that file is managed or Unmanaged. If its managed then it can give info about that is is 32/64 bit.

Ayush joshi
  • 305
  • 1
  • 5
  • 14