Qt Creator links 32 bit dlls to a 64 bit application
In Qt Creator 3.5.0 I can build a 64 bit application and run it successfully from Qt Creator (using the green run button).
However when I start the executable in the
build-myproject-Desktop_Qt_5_5_0_MSVC2013_64bit-Release\releasedirecory directly I get an error that the application can not be started. Using the Dependency Walker tool I see that the 32 bit versions of the Qt5 dlls are linked.
In the direcory
build-myproject-Desktop_Qt_5_5_0_MSVC2013_64bit-ReleaseI see in Makefile.Release
LIBS = /LIBPATH:C:\Qt\5.5\msvc2013_64\lib C:\Qt\5.5\msvc2013_64\lib\Qt5Widgets.lib C:\Qt\5.5\msvc2013_64\lib\Qt5Gui.lib C:\Qt\5.5\msvc2013_64\lib\Qt5Core.libso that looks OK.
When starting an application from explorer you need to follow the same steps you would for deploying that application.
A quick and easy way to do that by using the windeployqt helper program.
Hi, for a normal Qt installation, starting your app outside of Qt Creator should not be possible, because there are no path set to Qt dlls, or because you have not yet run windeployqt on your app. So Dependency Walker is just guessing what bit flavor of Qt5 dlls the app needs.
To start your app outside of Qt Creator, you can open a CMD window:
then cd to your build project and try starting your app from the same CMD window.