Qt-interest Archive, December 2006
VS2005 SP1 Final Breaks Qt
Message 1 in thread
I just installed SP1 Final and can no longer compile code that worked
previously. The errors that I get are similar to:
c:\qt\4.2.2\include\qtcore\../../src/corelib/tools/qmap.h(906) : error
C2244: 'QMultiMap<Key,T>::replace' : unable to match function
definition to an existing declaration
c:\qt\4.2.2\include\qtcore\../../src/corelib/tools/qmap.h(891)
: see declaration of 'QMultiMap<Key,T>::replace'
definition
'QMap<aKey,aT>::iterator QMultiMap<Key,T>::replace(const Key
&,const T &)'
existing declarations
'QMap<aKey,aT>::iterator QMultiMap<Key,T>::replace(const Key
&,const T &)'
Is anyone else seeing the same?
--
[ signature omitted ]
Message 2 in thread
Hi,
Yes, I just tried to compile agian my projects, and the same error
appeared, I can't even think of why this code has an error :(
Matthieu
FlyingHorse a écrit :
> I just installed SP1 Final and can no longer compile code that worked
> previously. The errors that I get are similar to:
>
> c:\qt\4.2.2\include\qtcore\../../src/corelib/tools/qmap.h(906) : error
> C2244: 'QMultiMap<Key,T>::replace' : unable to match function
> definition to an existing declaration
> c:\qt\4.2.2\include\qtcore\../../src/corelib/tools/qmap.h(891)
> : see declaration of 'QMultiMap<Key,T>::replace'
> definition
> 'QMap<aKey,aT>::iterator QMultiMap<Key,T>::replace(const Key
> &,const T &)'
> existing declarations
> 'QMap<aKey,aT>::iterator QMultiMap<Key,T>::replace(const Key
> &,const T &)'
>
> Is anyone else seeing the same?
>
--
[ signature omitted ]
Message 3 in thread
It seems that Microsoft knows the problem for some time...
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=987536&SiteID=1
Matthieu Brucher a écrit :
> Hi,
>
> Yes, I just tried to compile agian my projects, and the same error
> appeared, I can't even think of why this code has an error :(
>
> Matthieu
>
> FlyingHorse a écrit :
>> I just installed SP1 Final and can no longer compile code that worked
>> previously. The errors that I get are similar to:
>>
>> c:\qt\4.2.2\include\qtcore\../../src/corelib/tools/qmap.h(906) : error
>> C2244: 'QMultiMap<Key,T>::replace' : unable to match function
>> definition to an existing declaration
>> c:\qt\4.2.2\include\qtcore\../../src/corelib/tools/qmap.h(891)
>> : see declaration of 'QMultiMap<Key,T>::replace'
>> definition
>> 'QMap<aKey,aT>::iterator QMultiMap<Key,T>::replace(const Key
>> &,const T &)'
>> existing declarations
>> 'QMap<aKey,aT>::iterator QMultiMap<Key,T>::replace(const Key
>> &,const T &)'
>>
>> Is anyone else seeing the same?
>>
>
> --
> To unsubscribe - send a mail to qt-interest-request@xxxxxxxxxxxxx with
> "unsubscribe" in the subject or the body.
> List archive and information: http://lists.trolltech.com/qt-interest/
>
>
>
--
[ signature omitted ]
Message 4 in thread
Hello Matthieu Brucher,
Thanks for your headup, so we know we should not use VS2005 SP1.
It is remarkable that neither Microsoft nor Trolltech who both know
this serious issue quite a while find it worth to notify theire
customers about it.
Not a good service, I ask myself for what we are paying Trolltech so
much money every year for our commercial licenses....
You wrote at Samstag, 16. Dezember 2006 00:10:
MB> It seems that Microsoft knows the problem for some time...
MB> http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=987536&SiteID=1
MB> Matthieu Brucher a écrit :
>> Hi,
>>
>> Yes, I just tried to compile agian my projects, and the same error
>> appeared, I can't even think of why this code has an error :(
>>
>> Matthieu
>>
>> FlyingHorse a écrit :
>>> I just installed SP1 Final and can no longer compile code that worked
>>> previously. The errors that I get are similar to:
>>>
>>> c:\qt\4.2.2\include\qtcore\../../src/corelib/tools/qmap.h(906) : error
>>> C2244: 'QMultiMap<Key,T>::replace' : unable to match function
>>> definition to an existing declaration
>>> c:\qt\4.2.2\include\qtcore\../../src/corelib/tools/qmap.h(891)
>>> : see declaration of 'QMultiMap<Key,T>::replace'
>>> definition
>>> 'QMap<aKey,aT>::iterator QMultiMap<Key,T>::replace(const Key
>>> &,const T &)'
>>> existing declarations
>>> 'QMap<aKey,aT>::iterator QMultiMap<Key,T>::replace(const Key
>>> &,const T &)'
>>>
>>> Is anyone else seeing the same?
>>>
>>
>> --
>> To unsubscribe - send a mail to qt-interest-request@xxxxxxxxxxxxx with
>> "unsubscribe" in the subject or the body.
>> List archive and information: http://lists.trolltech.com/qt-interest/
>>
>>
>>
MB> --
MB> To unsubscribe - send a mail to qt-interest-request@xxxxxxxxxxxxx with "unsubscribe" in the subject or the body.
MB> List archive and information: http://lists.trolltech.com/qt-interest/
--
[ signature omitted ]
Message 5 in thread
On Sat, Dec 16, 2006 at 09:18:14AM +0100, Seneca wrote:
} Hello Matthieu Brucher,
}
} Thanks for your headup, so we know we should not use VS2005 SP1.
}
} It is remarkable that neither Microsoft nor Trolltech who both know
} this serious issue quite a while find it worth to notify theire
} customers about it.
}
} Not a good service, I ask myself for what we are paying Trolltech so
} much money every year for our commercial licenses....
}
} You wrote at Samstag, 16. Dezember 2006 00:10:
}
} MB> It seems that Microsoft knows the problem for some time...
} MB> http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=987536&SiteID=1
[...]
Oh, cry me a river. Trolltech is working with Microsoft to get this fixed.
Did you actually read the thread at the URL above? It looks like, if
necessary, Trolltech will adjust the Qt code with a workaround. That's part
of what you are paying them for.
I suspect they didn't make any public announcement because any way they
phrase it is going to make it look like they blame Microsoft for screwing
up. Yes, it's Microsoft's fault, but saying so publicly is antagonistic and
will make it harder to work with them to solve problems like this now and
in the future.
Now, you can argue that Microsoft should have something about this issue in
their release notes for VS2005 SP1. In fact, they might, I don't know (do
you?). Would you expect them to hold a press conference to announce a bug
in one of their products because it affects a slim portion of the
developers? (Consider how many people are actually going to hit this bug.
How many developers use Qt4 on Windows with VS2005 and have or will soon
upgrade to SP1? Rough back of the envelope calculations make me think that
the number might generously be over a thousand, maybe two. Lots of people
develop with Qt, some portion of them have moved to using Qt4, some portion
of those develop on Windows, some portion of those use VS rather than
mingw, some portion of those use 2005 instead of an older version, and some
portion of those will actually bother downloading and installing SP1.) On
the other hand, both Google and this mailing list will point you to
information about the problem, including a workaround and a promise from
Trolltech and Microsoft that they are working to fix it.
Have you really been mistreated by either Microsoft or Trolltech? I don't
think so.
--Greg
--
[ signature omitted ]
Message 6 in thread
Gregory Seidman wrote:
> Oh, cry me a river. Trolltech is working with Microsoft to get this fixed.
> Did you actually read the thread at the URL above? It looks like, if
> necessary, Trolltech will adjust the Qt code with a workaround. That's part
> of what you are paying them for.
This evening, I'll send to the list the _2_ files that needed a _2_
lines fix as indicated in the forum. It took me 5 minuts to get the fix...
Matthieu
--
[ signature omitted ]
Message 7 in thread
Von: Matthieu Brucher <matthieu.brucher@xxxxxxxxxx>
> Gregory Seidman wrote:
>
> > Oh, cry me a river. Trolltech is working with Microsoft to get this
> fixed.
> > Did you actually read the thread at the URL above? It looks like, if
> > necessary, Trolltech will adjust the Qt code with a workaround. That's
> part
> > of what you are paying them for.
>
> This evening, I'll send to the list the _2_ files that needed a _2_
> lines fix as indicated in the forum. It took me 5 minuts to get the fix...
>
Imho your fix will break abi. I've also modified the two headers but then kdelibs4 failed to compile due to another msvc bug which was not there in VS2005 and I uninstalled SP1... so I guess vs2005 sp1 is crap and we've to wait for sp2.
Christian
--
[ signature omitted ]
Message 8 in thread
Christian Ehrlicher wrote:
> Imho your fix will break abi. I've also modified the two headers but then kdelibs4 failed to compile due to another msvc bug which was not there in VS2005 and I uninstalled SP1... so I guess vs2005 sp1 is crap and we've to wait for sp2.
>
> Christian
I'll ty to check that ;) - although adding a simple typedef breaking ABI
is strange for me -
Matthieu
--
[ signature omitted ]
Message 9 in thread
OK, I didn't have the time to make a diff, so...
I modified 2 files, qmap.h and qhash.h. In these files, I did the same
thing, that is adding a typedef Parent::iterator iterator, and instead
of returning Parent::iterator, I returned an iterator directly in
replace and insert. That did the trick, and does not break the binary
interface as it is not modified - same type returned, but with an help
for the compiler -
Matthieu
Matthieu Brucher a écrit :
> Christian Ehrlicher wrote:
>
>> Imho your fix will break abi. I've also modified the two headers but
>> then kdelibs4 failed to compile due to another msvc bug which was not
>> there in VS2005 and I uninstalled SP1... so I guess vs2005 sp1 is
>> crap and we've to wait for sp2.
>>
>> Christian
>
> I'll ty to check that ;) - although adding a simple typedef breaking
> ABI is strange for me -
>
> Matthieu
>
> --
> To unsubscribe - send a mail to qt-interest-request@xxxxxxxxxxxxx with
> "unsubscribe" in the subject or the body.
> List archive and information: http://lists.trolltech.com/qt-interest/
>
>
>
--
[ signature omitted ]
Message 10 in thread
Gregory Seidman wrote:
> ...
> How many developers use Qt4 on Windows with VS2005 and have or will soon
> upgrade to SP1? Rough back of the envelope calculations make me think that
> the number might generously be over a thousand, maybe two. Lots of people
> develop with Qt, some portion of them have moved to using Qt4, some portion
> of those develop on Windows, some portion of those use VS rather than
> mingw, some portion of those use 2005 instead of an older version, and some
> portion of those will actually bother downloading and installing SP1.)
I'd like just to add these comments here which have been posted on
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=987536&SiteID=1:
1. Thomas: "This makes it sound as if it's only likely to be an issue
when using Qt. FWIW I just installed SP1 Beta and this issue breaks our
code in at least three places. Thing is we don't use Qt. Expect to break
a significant amount of code that's out there."
2. Brian (Microsoft?): "Yep, I agree. I actually pushed back on the
comment that "We're working with Trolltech" to work around this, but
backed out my comment because I didn't want to come across too
obnoxious. But I think it's important to voice objection here.
SP1 has not only broken not only Qt but your code, and everyone else who
hasn't (Note from me: I think he meant "has", else this sentence doesn't
make any sense in that context) downloaded SP1 beta1 (I'm willing to bet
<5% or even <<5% of VS2005 users are going to do this. The rest don't
know about SP1 beta1 or don't care.)"
3. Henrietta: "Also expect SP1 beta 1 to break any code that uses the
boost graph library."
I think they speak for themselves.
Cheers, Oliver
--
[ signature omitted ]
Message 11 in thread
Seneca wrote:
> Hello Matthieu Brucher,
> ...
> It is remarkable that neither Microsoft nor Trolltech who both know
> this serious issue quite a while find it worth to notify theire
> customers about it.
Is this a fact that Trolltech knows about it? Where did you take this
information from?
>
> Not a good service, I ask myself for what we are paying Trolltech so
> much money every year for our commercial licenses....
Hey ho! Hold on a second: I didn't follow the link to the Microsoft
website entry yet, but as I understand this is a _Microsoft_ issue,
isn't it? So what are you blaming Trolltech for?
IMHO it's not their responsibility to check every update of each
compiler if Qt still compiles with it - I don't know how long SP 1 for
VS2005 is available (in fact, I wasn't even aware that one existed) but
I'm sure it will be solved quite soon - by Microsoft!
Why don't you ask why you're paying Microsoft the money? After all it's
a Microsoft product you're using and which gives you headache, no?
(Assuming for now that it is indeed Microsoft's fault, as I understand
from this thread it is...)
Cheers, Oliver
--
[ signature omitted ]
Message 12 in thread
Seneca wrote:
> Not a good service, I ask myself for what we are paying Trolltech so
> much money every year for our commercial licenses....
So TT is supposed to fix MS bugs just because you pay TT money?
Next time I'll blame the carpenter because I spilt milk on the table...
Andre'
--
[ signature omitted ]
Message 13 in thread
Matthieu Brucher wrote:
> Yes, I just tried to compile agian my projects, and the same error
> appeared, I can't even think of why this code has an error :(
>
> Matthieu
>
> FlyingHorse a écrit :
> > I just installed SP1 Final and can no longer compile code
> that worked
> > previously. The errors that I get are similar to:
> >
> >
> c:\qt\4.2.2\include\qtcore\../../src/corelib/tools/qmap.h(906) : error
> > C2244: 'QMultiMap<Key,T>::replace' : unable to match function
> > definition to an existing declaration
> >
> c:\qt\4.2.2\include\qtcore\../../src/corelib/tools/qmap.h(891)
> > : see declaration of 'QMultiMap<Key,T>::replace'
> > definition
> > 'QMap<aKey,aT>::iterator QMultiMap<Key,T>::replace(const Key
> > &,const T &)'
> > existing declarations
> > 'QMap<aKey,aT>::iterator QMultiMap<Key,T>::replace(const Key
> > &,const T &)'
> >
> > Is anyone else seeing the same?
I had this error when trying a SP1 beta.
It pretty much looks like a compiler error.
I could work around it by moving the code in question
into the class definition.
Andre'
--
[ signature omitted ]
Message 14 in thread
Till Oliver Knoll <oliver.knoll@xxxxxxxxxxx> wrote on 18.12.2006 10:21:39:
> Gregory Seidman wrote:
>
> I'd like just to add these comments here which have been posted on
> http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=987536&SiteID=1:
>
>
> (..)
>
> I think they speak for themselves.
We are aware of this issue and are working on it. More communication will
follow.
Kind regards,
Eivind Throndsen
--
[ signature omitted ]