Re: fatal error LNK1179
From: Carl Daniel [VC++ MVP] (cpdaniel_remove_this_and_nospam_at_mvps.org.nospam)
Date: 02/27/04
- Next message: James Pannozzi: "Re: ActiveX Question Revisited"
- Previous message: Carl Daniel [VC++ MVP]: "Re: 7.1 C++ compiler doesn't catch base class reference without public copy constructor"
- In reply to: Hendrik Schober: "Re: fatal error LNK1179"
- Next in thread: Hendrik Schober: "Re: fatal error LNK1179"
- Reply: Hendrik Schober: "Re: fatal error LNK1179"
- Messages sorted by: [ date ] [ thread ]
Date: Fri, 27 Feb 2004 08:34:26 -0800
Hendrik Schober wrote:
> Carl Daniel [VC++ MVP]
> <cpdaniel_remove_this_and_nospam@mvps.org.nospam> wrote:
>> [...]
>> May you should try re-writing the code in question using a radically
>> different style.
>
> No way. This underlies a fairly important
> part of the app. Re-designing this means
> another three weeks and we are days from
> a deadline.
All the more reason to start taking definitive action. Thrashing on an
obscure tool-chain bug has a low probability of success in any timeframe.
>
>> It seems likely that you're encountering a fairly
>> obscure bug in which the compiler emits two different bodies for the
>> a single template instantiation.
>
>
> I don't understand this.
> I suspected that it would emit two equal
> bodies for different instances? But you
> say, it's the other way around???
I think so. I've encountered a bug before that resulted in multiple
instantiations of a template function that were different (but have the same
name). IIUC, the linker matches up like-named COMDATs and discards all but
one - but it does check to verify that they do indeed contain the same
content.
>
>>> And, of course, if I check this in, the build
>>> might fail, too. So I'm sitting on this file
>>> and don't know what to do!
>>
>> Call Product Support.
>
> It would take days (at least!) to sort
> this out through support channels.
If you never start the process, it'll never happen. IMO it makes sense as a
contingency plan to get things rolling with PSS.
> I
> am after an idea what to do today. The
> problem is hard to reproduce, since
> changing the source file back and forth
> makes it (dis-)appear.
> This puzzles me the most. Is there any
> files (besides PCH's which aren't used
> here) where the compiler saves any
> state info between compiles???
>
Not that I know of, but there is the .ilk file where the linker saves
information if you have /incremental:yes in your link options. Normally
Release builds don't do incremental links, but that might be something to
look into.
-cd
- Next message: James Pannozzi: "Re: ActiveX Question Revisited"
- Previous message: Carl Daniel [VC++ MVP]: "Re: 7.1 C++ compiler doesn't catch base class reference without public copy constructor"
- In reply to: Hendrik Schober: "Re: fatal error LNK1179"
- Next in thread: Hendrik Schober: "Re: fatal error LNK1179"
- Reply: Hendrik Schober: "Re: fatal error LNK1179"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|