Reputation: 26040
Using Visual Studio 2003 Professional under Windows 7 SP1 (64 bit), compiling from the command line, I get a fatal error C1074: IDB is illegal extension for PDB file
. The documentation on this error is sparse to put it lightly. The incredibly odd thing about this is that, utilizing the same build script on the same computer but under a different account does not generate this error.
My first guess was that something in the environment variables is causing this conflict, but doing a diff between them for the two accounts, and modifying PATH and INCLUDE to be the same does not fix the error.
Does anyone have a fix for this error, or any idea what actually triggers it? None of the files are being compiled with a /Z
switch of any kind, so as far as I can tell, no PDB
files should ever actually be generated (and on a successful build, no IDB
OR PDB
files are generated that I can see).
Upvotes: 3
Views: 3348
Reputation: 21269
I was experiencing the same problem with solutions on Windows 7 x64 and Visual Studio 2005 Pro (SP1).
I am using Visual Assist X (currently build 2007). So in my case all I needed to do was to disable IntelliSense by renaming feacp.dl
inside C:\Program Files (x86)\Microsoft Visual Studio 8\VC\vcpackages
to something else. That fixed the crash at startup (probably unrelated to the issue the OP encountered).
After that the Debug
configuration gave me loads of
fatal error C1033: cannot open program database ''
errors, one per file compiled by cl.exe
.
With the Release
configuration I got
fatal error C1074: 'IDB' is illegal extension for PDB file: <filename>
i.e. the one about which the OP was asking.
I found the solution more or less by accident elsewhere, reported for VS 2003. In a sense it's the opposite of Luke's answer.
Fatal Error C1074
This error has been reported to occur if the Windows 7 machines have Windows XP compatibility mode turned on. To resolve the error, turn off the Windows XP compatibility mode and recompile the solution.
Should you have other issues check the MSDN forums for more help. Its not the source it sounds more like your settings with VS. I've never run across this problem before so I'm little help.
That prompted me to check out the settings for devenv.exe
(in my case under C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE
). It looks like this:
In my case it was set to be compatible with Windows 2003 Server as depicted in the above screenshot. However, the compatibility must be turned off! (checkbox unchecked)
Also make sure to check out and correct the settings for all users by clicking the second highlighted button (UAC prompt will show up if you aren't already running privileged).
This solved the problem for me and I can avoid running VS 2005 Pro elevated all the time.
Upvotes: 5
Reputation: 841
In the attempt of sharing the solutions of some of my troubles, and in the hope of sparing them to others, I had the same issue trying to compile a legacy solution in VS2005/SP1 inside a Win8-x64 machine. No matter what I tried to do, it always stopped there complaining about the illegal IDB extension...
On the other side, the very same solution compiled flawlessly in my previous Win7-x64 box, when run "elevated".
After much struggling I found that I had to use Win8 "Program Compatibility Assistant" (or whatever is named in the english version - my OS is using a different language) and tell it to run VS2005 in a Win7 elevated environment. After that, the obscure "IDB is illegal" error disappeared at once!
Hope this will help someone =)
Upvotes: 0
Reputation: 13930
From information I've gathered on MSDN about issues similar, but not exactly the same:
Since it compiles with no other change than the user account, I believe there's a chance that it could have something to do with the user accounts permissions. Check and see the differences between the users permissions in VS's settings, and in Windows User Settings.
The first thing I would try though is to close VS, reopen with Run As Administrator
using the account that WON'T compile and see what happens.
Upvotes: 2