Hi,
I followed these steps to create a 64-bit build of Qt 5.2 using Visual Studio 2013 (everything done from the Visual Studio 2013 ×64 Command Prompt):
- I cloned the git repository: git clone git://gitorious.org/qt/qt5.git <qt-install-dir>
- I ran the init-repository script: perl ./init-repository —no-webkit
- I configured the build environment as follows:
configure -debug-and-release -mp -opensource -platform win32-msvc2013 -nomake examples -nomake tests -developer-build
- I started the build process: nmake
The following environment variables are set:
PATH=..;<qt-install-dir>\qtbase\bin
QTDIR=<qt-install-dir>\qtbase
QT_QPA_PLATFORM_PLUGIN_PATH=<qt-install-dir>\qtbase\plugins\platforms
The build compiles without errors, and I am able to build and run my own C++ application using this Qt build. However, some of the EXEs in the qtbase\bin folder do not work, e.g. assistant.exe, designer.exe or linguist.exe. For instance, if I try to run designer.exe, I get an immediate crash in memcpy() within a call to msvcr120.dll, which is the Microsoft Visual C++ 12 Runtime Library shipped with Visual Studio 2013.
I know that changes have been introduced in memory alignment between VS 2010 and VS 2012 (and possibly also from VS2012 to VS2013) which can lead to this sort of crashes when builds of different VS platform toolsets are linked together. However, I built Qt using a single platform toolset (win32-msvc2013). Does anyone know how to solve this problem? I should add that everything works fine if I build Qt using VS2010 (which employs a different version of the MSVC Runtime), so this might be caused by some sort of incompatibility between Qt and the MSVC 12 Runtime.
Best regards,
Andi
↧