MSVC build of kdelibs fails

Andreas Pakulat apaku at gmx.de
Mon Dec 24 02:06:49 CET 2007


On 23.12.07 18:13:52, Andreas Pakulat wrote:
> On 23.12.07 17:46:19, Andreas Pakulat wrote:
> > On 23.12.07 16:14:08, Christian Ehrlicher wrote:
> > > If this does not help you'l have no other chance than build qdbuscpp2xml
> > > in debug mode and do some debugging.
> > 
> > I guess so...
> 
> Hmm, I can't debug, because the app doesn't load at all. The problem
> seems to be with dbus-1d.dll from the dbus-package. MSVC tells me the
> following:
> 
> LDR: LdrpWalkImportDescriptor() failed to probe
> D:\andreas\kde4\bin\dbus-1d.dll for its manifest, ntstatus 0xc0150002
> 
> So it seems that when emerge builds Qt with debug_and_release a debug
> qdbuscpp2xml gets installed into the bin/ folder and thus dbus-1d.dll is
> used.
> 
> If I make sure qdbuscpp2xml is built in release mode everything works
> fine.

I restarted a fresh build with emerge about 3.5 hours ago and coming
back to the system qdbuscpp2xml still fails to load.

Checked with depends and indeed it links to dbus-1d.dll (indirectly via
QtDBusd4.dll), and dbus-1d.dll one is said to be having errors.

I get the same error when opening just QtDbusd4.dll.

Another thing is: When opening the non-debug-QtDBus lib I have a missing
MSVCR80.dll, which is "pulled in" by QtXml.dll. That library shows
strange dependencies onto dll's in
C:\windows\winsxs\x86_microsoft.vc80.crt_<hash>_8.0...._x-www_<hash>\
i.e. it links against the MSVCP80.dll in that dir and that one wants the
MSVCR80.dll (which is in the same dir). Is that normal? 

Anyway, putting the msvcr80.dll into Windows\system32 or directly into
the kde4\bin doesn't help either.

And it gets even stranger, the qdbusxml2cpp program also links against
qtdbus4.dll, but that one only has the warning about an unresolved
import. And when opening qdbusxml2cpp it also finds the msvcr80.dll in
that dir in windows\winsxs.

Another difference between the 2 tools is that for qdbuscpp2xml there's
no manifest file for the release version, while there is one for the
debug version. Manually building the release version of qdbuscpp2xml
does create the .manifest file in the obj-output folder and the
resulting binary doesn't have any problems when opening in depends. So
it seems that there's still some kind of bug inside Qt4.3.3 for building
qdbuscpp2xml.exe, as its using the debug-binary instead of the release
one, even though the releease rule is the last one executed according to
the makefile.

How do I debug this further?

Andreas

-- 
You will be divorced within a year.



More information about the Kde-windows mailing list