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