Home Dashboard Directory Help

Can not disable 'warning LNK4099' by Roman Prytkov


 as By Design Help for as By Design

Sign in
to vote
Type: Suggestion
ID: 176188
Opened: 8/4/2006 6:00:37 AM
Access Restriction: Public


When I link the project with 3rd party libraries I have linker warnings like:
...warning LNK4099: PDB 'xpcomglue_s.pdb' was not found with ...\xpcomglue_s.pdb'; linking object as if no debug info

I have no PDB corresponding to LIB file and would like to disable warning LNK4099, but linker has no options for that.

Could be possible to have this option in future?
Sign in to post a comment.
Posted by Aaron R Robinson on 7/8/2013 at 10:48 AM
I submitted a bug for this issue and it is going to be fixed for the next major release of Visual Studio, 2013.
Posted by Aaron R Robinson on 6/25/2013 at 8:27 PM
I really would like to see this issue addressed. Can you please look into this? I will file a bug.
Posted by Steve Dunn on 1/5/2012 at 11:31 AM
Come on Microsoft. People in the real world are having real problems with this. It's a warning that safely ignored so why can't we? The sheer amount of these warnings are hiding genuine warnings that people *should* be concerned about. It's amazing: some teams in Microsoft are great at customer feedback but in my opinion (and experience), anything on Connect just gets ignored (as is the case here: 5 years and not a peep from anyone who cares at Microsoft).
Posted by Arkady Shapkin on 12/21/2011 at 3:54 AM
Please fix it in VS11
Posted by daveemmo on 11/22/2011 at 12:24 AM
FIVE YEARS ON, and you still haven't found the resources to eliminate this simple, but extremely annoying non-feature?
You really should be utterly ashamed of yourselves!

We don't ship pdb files with our SDKs for security reasons, and consequently, developers are swamped with LNK4204 warnings when they make debugging builds using our libs, making it unnecessarily difficult to spot warnings which actually have some significance.
Posted by GAN81 on 11/17/2011 at 12:09 PM
My penny. The warning MUST be ignorable as it causes a lot of problems.
Posted by Baloo0402 on 8/16/2011 at 8:35 AM
So, this issue is closed because it behaves "as designed" even though the fundamental suggestion is that you should _change_ the design? LNK4099 should be an ignorable warning. This causes real-world problems in build quality-control by creating more noise than can easily be filtered out. I too am patching my link.exe file -- please reopen and address this.
Posted by Ben_AA on 6/17/2011 at 12:51 PM
The was able to do the workaround for bith warnings 4099 and 4204 by changing these values to FF00 on line 15A0 of the 2010 link.exe.
Posted by Ben_AA on 6/17/2011 at 12:38 PM
It's absurd to say that there are not resources available to fix this. It is a huge problem and needs immediate attention. Several future product cycles have passed. Let's get this done.

As for the work around, I've got several hits for this in the 2010 link.exe. Has anyone got it working in this version?
Posted by Chris P Johnson on 5/25/2011 at 6:23 AM
Still not fixed in VS 2010 SP1
Posted by GregM on 5/6/2011 at 5:24 PM
No, this does not work. There are some warnings that can be suppressed, this is not one of them.

The workaround shows that this is on a list of non-ignorable warnings, so this should not be a difficult fix, if we can manage to convince MS that we do actually know what we are doing, and we should be able to ignore this warning.
Posted by acaron on 4/27/2011 at 7:54 AM
Just had the same issue today. One of my colleagues discovered a "hidden" linker option. Just add "/ignore:<warning-number>" (i.e. "/ignore:4099") to the linker command line.

We're using Visual Studio 2008 Professional. Can anyone confirm that this works? If so, maybe the person who closed this as "By Design" can re-close it as "Not Documented"!?
Posted by Andy Patrick on 8/11/2010 at 4:00 AM
Getting lots and lots of these warnings from third party libs for which I do not have, and will never have, the PDB. Genuinely meaningful warnings are at risk of getting lost among the noise. It really should be possible to disable this.
Posted by Darren Bennett on 8/9/2010 at 12:40 AM
I agree that this a very bad practice to allow linker warnings to not be suppressed in someway.
Posted by cslater on 6/17/2010 at 12:34 PM
This is still a problem in VS 2010.
Posted by George Hazan on 8/17/2009 at 11:36 AM
the /ignore:XXXX option works perfectly in VS2008, you should simply upgrade your Visual Studio.
Posted by Loren Meck on 8/11/2009 at 11:04 AM
This situation is extremely bad. I get 729 of these warnings in a large project that I build. It is very easy for other warnings that represent actual problems to get hidden in so much junk output. How can I suppress all this crap so that I can see what I need to see?

Another possibility besides a linker option to suppress the warning would be a LIB.EXE option to remove the PDB reference from the .lib file. This could take the form of a "/debugtype:none" option.
Posted by hwangwoohyun on 1/4/2009 at 9:59 PM
Posted by ThisIsARequiredField on 12/7/2008 at 7:15 PM
I found this feedback while searching for the linker option to disable numbered warnings, assuming that such a sane option would exist. Apparently it does not. Let's get this ball rolling, eh? Re-open this? I would've loved to have been a fly on the wall at the design meeting where it was determined that "inability to disable linker warnings" would be "by design".
Posted by James Edwards on 1/9/2008 at 12:48 PM
Why was this punted?? How hard could this be to fix, adding a warning output filter seems almost trivial to me! Sounds like a case of an over-aggressive program manager. If you're getting a lot of requests for it, maybe you should do it, duh!
Posted by Tim Burris on 9/18/2007 at 11:59 AM
The docs for this warning say "can safely be ignored." How can you encourage such bad practice?
Posted by Microsoft on 10/26/2006 at 7:53 AM
Thanks for the error report - this isn't the first time we've had this request. Unfortunately, we just don't have the resources to address the issue during this product cycle. We will try to revisit the issue in future product cycles.
Sign in to post a workaround.
Posted by sudleyplace on 4/29/2011 at 4:22 AM
If you are comfortable with a hex editor, there is an effective solution to this problem in http://www.bottledlight.com/docs/lnk4099.html

Essentially, hex edit your link.exe (after backing it up!) to zap the occurrence of 4099 in the list of non-ignorable warnings. I did it and the hundred or so 4099 warnings disappeared! As the article says, look for the hex bytes 03 10 00 00 (which is 4099 as a 32-bit little-endian hex value). Change it to (say) FF FF 00 00, save the file and you're done.