Problems running applications .exe
Hi there,
I am currently running my applications with Qt Creator and everything works fine. However, I would also like to run my applications in .exe format found in the <filename>-build-desktop folder and unfortunately I get the following error...
mingwm10.dll is missing
http://img340.imageshack.us/img340/3923/mingwm10.png
I am running Windows 7 32bits.
Any ideas?
Thank you in advance.
Re: Problems running applications .exe
You need to copy the "missing" dll's, or on your system you can add to the Environment Variable->Path the path to those dll's, so that the OS can find them and start your application.
I recommend the copy method, since this will also prepare you for deployment on other systems that don't have Qt installed.
The following dll: mingwm10.dll and libgcc_s_dw2-1.dll are needed for MinGW run-time (can be found in INSTALL_FOLDER\mingw\bin)
And for Qt you need one for each module you used in the application (example the release version of QtCore module: QtCore4.dll and note that you need the release build for that - the debug version of dll (QtCored4.dll) is not meant for deployment - just for bug-fixing)
Qt dll's usually can be found in INSTALL_FOLDER\qt\bin
Another note: if you installed one of the SDK's it usually have two copies of QtMODULE.dll (only dll's from one place work with your application - if you can't find the Qt dll's say which SDK version you installed and most likely there will be someone using the same version and guide you to the correct path)
Re: Problems running applications .exe
Thanks for replying.
Shouldn't those .dll's have been automatically put in the Environment Variable->Path during the installation of the software? Why with Qt this insertion should be done manually?
In addition, I am running Nokia Qt SDK 1.0.2. All the applications are automatically deployed on the mobile. Is there a way to also choose to run the application as a desktop application?
What is the difference between Nokia Qt SDK 1.0 from Qt SDK for Windows? I guess the first is intended for mobile use only? How do I combine both?
I thought to install both versions but wouldn't that cause some problems?
Thanks again.
Re: Problems running applications .exe
The Qt SDK 1.1 beta combine (and let you choose) different mobile and desktop Qt SDK versions.
//but still doesn't put those dll's in path
//i think it's a good thing, since you can easy "emulate" a system without Qt (a deployment target) on your development system ;)
LE: and you can select which dll's must be included when you are creating the installer.
Re: Problems running applications .exe
Alright got it.
I guess I will uninstall everything and install the Qt SDK 1.1 beta from the beginning that combines both.
So I need to add the directory paths of the missing .dll's in the Environment Variable->Path; and do that for every missing .dll?
Thanks.
Re: Problems running applications .exe
No, not Path is not for individual dll, the OS will see all the dll's that are in the path you added.
So if you choose to add to Path you will need to add two paths:
1) one for the MinGW run-time dll's, it will be something like: C:\QtSDK\mingw\bin
2) another one for Qt dll's, looking somthing like: C:\QtSDK\Desktop\Qt\4.7.2\mingw\bin
Note that the Beta can install Qt built with VS (2005/2008) and those dll's won't work if you build your application with MinGW... so be careful
And, as i said earlier i recommend you to leave the Path alone and just copy the dll's (this way you will get prepared for deploying your application on other systems)
LE: be careful not to delete stuff that is already there, and note that different paths are separated by ;
Re: Problems running applications .exe
Quote:
And, as i said earlier i recommend you to leave the Path alone and just copy the dll's (this way you will get prepared for deploying your application on other systems)
What do you exactly mean by that? Copy the .dll's where?
Re: Problems running applications .exe
read step 3 on this page: http://doc.qt.nokia.com/4.7/install-win.html
Also, you should be able to run your program from the <filename>-build-desktop folder by opening a Qt prompt:
Start-Programs-Qt SDK (version)-Qt Command Prompt
This prompt should have the path set correctly for finding all dll's for mingw and Qt. Unless of course if your executable depends on other 3rd party dll's, then you will have to deal with those in a similar fashion by placing them in the path or copying them to the said folder.
In general, you can only run a program from the command line if:
1) the executable is in the current folder, or
2) the executable's location is in the path
same applies to DLL's
If you want to deploy, then look at this web page: http://doc.qt.nokia.com/4.7/deployment-windows.html
Re: Problems running applications .exe
Thank you all for your answers.
Everything works great now, I choose desktop app, works fine, then Sybian or Maemo still fine. I am very glad. Much appreciated.
Let's say now though, you develop an application you want for Sybian. You test it and it works like a charm and you decide to "export" it. Is this the right way to say it? Anyway, what I am trying to say is that, you want to install it on your phone or even share on a forum or with friends.
How would you do that? Is there something additional to be done?