I am trying to build a win64 static library using ICC13.0 . The OS that I am trying to build is Windows XP (32 bit). I have installed Visual Studio 2008 ( along with the 64 compiler tools).
The issue that I am facing is that there is a 64bit dll exported Visual Studio 2008 called mspdb80.dll which is located at the following location:
C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\amd64
The above dll fails to load saying mspdb80.dll is not a valid Windows image. This is seen only on Windows XP and not on Windows 7. I guess mcpcom.exe(installed by Intel) is loading this dll .
When I try to build the static library with MSVC90, it builds fine.
>>...there is a 64bit dll exported Visual Studio 2008 called mspdb80.dll...
Here are a couple of notes:
- Please use MS Depends and verify that mspdb80.dll is 64-bit dll. ( I just verified on my development computer and it is 64-bit ).
- I could upload MS Dependsdwi file for mspdb80.dll dll and you could use it with the utility in order to compare information ( dll on your computer vs. dll on my computer ) and please confirm if you need it
- As soon as you have MS Depends you will need to open mspdb80.dll, find it in the list of dlls, and look for OS Ver and Subsystem Ver values ( attributes ). For the mspdb80.dll I see the following values:
OS Ver - 5.2 Subsystem Ver - 5.2
- Value 5.2 means the dll will work on Windows Server 2003 and won't work on Windows XP because it requires value 5.1 for both attribitues of Portable Executable ( PE ) format.
What I really can't understand so far why mspdb80.dll is used in Visual Studio 2008.
>>...The above dll fails to load saying mspdb80.dll is not a valid Windows image...
There are two reasons why the message is displayed:
- The dll is Not built for Windows XP and 'OS Ver' and 'Subsystem Ver' attributes are equal to 5.2
- This is a 64-bit dll and it can't be loaded on a 32-bit Windows XP ( Note: I had exactly the same issue today... )
Building 64bit static libs with ICC13 on Win Xp
I am trying to build a win64 static library using ICC13.0 . The OS that I am trying to build is Windows XP (32 bit). I have installed Visual Studio 2008 ( along with the 64 compiler tools).
The issue that I am facing is that there is a 64bit dll exported Visual Studio 2008 called mspdb80.dll which is located at the following location:
C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\amd64
The above dll fails to load saying mspdb80.dll is not a valid Windows image. This is seen only on Windows XP and not on Windows 7. I guess mcpcom.exe(installed by Intel) is loading this dll .
When I try to build the static library with MSVC90, it builds fine.
Thanks .