Is there any tool that can directly test if a library is made for 32 or 64 bit?
4 Answers
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)

- 858
- 7
- 7
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

- 19,528
- 6
- 28
- 56

- 202,538
- 53
- 430
- 533
-
5this does it, look for the 'FILE HEADERS' section – stijn May 16 '11 at 07:18
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

- 4,565
- 3
- 29
- 40
-
2That'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
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.

- 305
- 1
- 5
- 14