Qt 4.8.4 on windows 7 - qt-win-opensource-4.8.4-vs2010.exe
-
Hello,
I installed the package qt-win-opensource-4.8.4-vs2010.exe, on my windows 7 machine into a folder (d:\lib\Qt\4.8.4).
However , under the lib directory (d:\lib\Qt\4.8.4\lib) , I am only seeing the .lib files and not the .dll files.
I presume that Qtcore4.dll and Qtgui4.dll are needed to deploy my application. How come they are not there in that lib directory.
I did spot the dlls in the bin folder (d:\lib\Qt\4.8.4\bin), but i suppose those are present there to satisfy the QT Designer's dependencies.
Am i supposed to use the dlls from the bin folder ?If i do compile Qt from source, i see the Dll's created inside the lib folder. However, I do not know, what all components that i need to compile, so that i do not miss any dependency. I chose to take the less risky approach of using the qt-win-opensource-4.8.4-vs2010.exe installer.
thanks
Arvind -
Hi! Which platform do you normally use for development?
On the Windows *.lib files are needed at compile time, and *.dll at runtime.
You can find your application depends using "Dependency Walker":http://www.dependencywalker.com. -
AFAIK, they are always on the bin folder if you used the pre-built binary(qt-win-opensource-4.8.4-vs2010.exe). That should still be fine since the .lib file knows where is the corresponding .dll can be located.
-
I am actually using the Windows, Mac and Linux platform. I am trying to write an application that would be open source, so that, anybody can compile it for their respective platforms.
Since, the Dlls are in the bin folder, I am satisfied now. So, i can use the dlls from the bin folder and use it in my package for application deployment.
however , i am curious and would love if anybody could explain , the reason, why, the DLLs appear in the lib folder, when i compile Qt from source, but when i install it from an installer (qt-win-opensource-4.8.4-vs2010.exe in this case), the DLLs are in the bin folder.
Are not the QtCore4.dll and QtCoreGui4.dll libraries ? if they are libraries, why are they not in the lib folder?
Am i to assume that, the QT Designer also uses the same Dll's, and hence to save space, the DLLs have been put into the bin folder ?
thanks
-
What IDE do you use? (I prefer QtCreator)
If there are no problems with the compilation, look depending runtime using Dependency Walker (tell it to your *.exe).
To run the application *.dll to be found in the application folder or the path to it should be specified in the environment variable PATH.
Usually there are no problems when running the application from the IDE (variable PATH will contain the correct value). -
QtCreator is very good. I am trying to get it to work with cmake as that has been my tool of choice.
I sometimes, use Codeblocks or Codelite just for variety.