PDA

View Full Version : Qt 4.8.1 Cannot release debugged app for windows.



notes90
31st May 2012, 16:37
Hello everyone !

I have working solution of client-side of my project ( calculator through winsocks ). Problem is that I cannot release my solution. Debugging works fine - no errors program runs ect.
When Im releasing my app after adding all qt dll's to release folder and clicking on .exe I Get error :

The procedure entry point ??4Qstring@@......@Z could not be located in the dynamic link library QtCore4.dll


Please help me with this one. I'ts my second day I am trying to release this application. I've tried to add different qt dll's 4.7.2 and lower... nor of them works... :/
I even reinstaled whole SDK, had 4.7. and thought maybe update went wrong ... I've made whole new project in 4.8 and copied source and it works fine in Qt Creator...

I'm working on windows vista home premmium 32bit


Thanks in advance,
Yours,
notes.

Lesiok
31st May 2012, 18:37
DLL's for debug version have letter d in name. Ie. QtCore4.dll fo release mode and QtCore4d.dll for debug mode.

notes90
31st May 2012, 19:31
DLL's for debug version have letter d in name. Ie. QtCore4.dll fo release mode and QtCore4d.dll for debug mode.

Yes, I have QtCore4.dll in my release folder and all other qt dll's needed for app, in this case network and gui.
I've copied qtCored4.dll to debug folder and other dll's with 'd' letter and after clicking on .exe i get error :

The procedure entry point ?checkStateSet@AbstractButton@@MAEXXZ could not be located in the dynamic link library QtGuid4.dll

I want to underline that debug version is running well through Qt Creator...

Anyone ?

ChrisW67
1st June 2012, 01:54
Exactly which DLLs (full paths) are you copying from the Qt SDK to deploy? You should be using the files from:


QtSDK/Desktop/Qt/x.y.z/compiler/bin/ // for Qt core libraries
QtSDK/Desktop/Qt/x.y.z/compiler/plugins // for Qt plugins

where x.y.z is the Qt version you built with and compiler is "mingw" if you used the bundled MingW compiler, and something else for each of MSVC 2008 and 2010. You must use the files matching the compiler you used to build your application. You deploy the release (i.e. QtCore4.dll, QtGui4.dll) libraries to match your application built in release mode.

You definitely do not want the Qt dlls from the QtSDK/QtCreator directory. They are the libraries against which the Qt Creator was built (probably with MSVC) and may not match your program (certainly not if you used MingW).

MClark7
1st June 2012, 18:01
You can also try using Dependency Walker (http://www.dependencywalker.com) to see which ddl's your application is using.

You need to check which directories DW is using or you may pick up a dll from an unrelated application.

You can also try re-installing qt. The latest download seems to use MSVC10 for windows desktop applications. I tried using mingw and could not find the proper dlls. Re-installing switched me to MSVC10 and I got the release to work.

There is a thread over in the Install / Development forums where I go into more detail: scroll to last post (http://www.qtcentre.org/threads/47101-Finished-my-project-how-do-I-distribute-it)