[xsd-users] Discovered a problem with the path environment variable causing hard to debug crashes on windows

Boris Kolpackov boris at codesynthesis.com
Sun May 10 14:21:23 EDT 2015


Hi Robert,

Thanks for taking the time to describe the problem and workaround,
this is much appreciated. Please also see my comment below.


Robert Krajewski <robert.w.krajewski at gmail.com> writes:

> I am using Windows 7 (64 bit), MSVC 2013 as Compiler and QT Creator as my
> IDE for my QT projects. If I try to build and run the examples in MSVC
> 2013 everything works fine. But if I tried to do the same in QT Creator,
> the examples instantly crashed.
> 
> The problem have been the changes which XSD added to the path environment
> variable during the setup. The path is looking somewhat like this after
> installation:
> 
> <pathToXSD>/bin;<pathToXSD>/bin64;....
> 
> The first part of the addition (../bin) caused the crashed. I guess the
> software tries to load the 32-bit dll while I compiled against the 64-bit
> dll.

Windows dynamic library loader (at least for 64-bit applications)
will skip 32-bit DLLs and will keep searching the PATH list for a
64-bit version. This is the reason the installer adds the paths in
the order that you see. Also, the fact that everything works with
MSVC confirms this (and that also what we have observed in our
tests). So I tend to think it is QTCreator that is to blame here.
You may want to check on its forums/mailing lists if this is a
known issue.

Boris



More information about the xsd-users mailing list