Yuushi
Yuushi

Reputation: 26040

Fixing MSVC Compiler Error C1074: Illegal extension

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

Answers (3)

0xC0000022L
0xC0000022L

Reputation: 21269

I was experiencing the same problem with solutions on Windows 7 x64 and Visual Studio 2005 Pro (SP1).

Symptoms

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.

Solution

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:

Current user settings for devenv.exe

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).

All user settings for devenv.exe

This solved the problem for me and I can avoid running VS 2005 Pro elevated all the time.

Upvotes: 5

Luke
Luke

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

ChiefTwoPencils
ChiefTwoPencils

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

Related Questions