About creating (exe) file
-
hello guys, iam new programer i began studying C++ 3 weeks ago and i created a program which you can set (hours) and (minutes) to begin time remaining to shutdown windows _
and whe i made the (release) mode of my project to get (APP.EXE) file ,
when i open the exe file it says that there are (dll)s missing from the computer and i found out that i should copy some of dll files from the SDK path to my sysWOW64 and it worked and the problem is that the DLL files are so huge more than 60 MB _
and then what if i want to send this program to a friend does he have to install Qt SDK to run this app or what do i have to do ?
i hope you guys help me :) bye -
Hi, welcome to devnet.
Never ever copy anything to the sysWOW64 folder. It's a system directory. Yes I know it seems to work but you're asking for trouble in the future. You should only ever put the dlls in the executable directory. If you modify any system directory or PATH environment variable or anything outside your program directory then "you're doing it wrong"™.
If you copied over 60MB of dll's then you probably copied every possible Qt module that Qt has.A usual program uses only a small subset like core, networking, widgets or qtquick so it's about 10MB, depending on the build you're using. Also remember that there are always two kinds of dlls - release and debug ones. The debug ones are much larger and you only need them when you're compiling your program in debug mode.
As for the deployment - no, the user doesn't have to install the SDK. It's a development environment and he doesn't need it. All he needs are the few specific dlls your app uses, and it's your responsibility as a programmer to deploy them along your executable. You should not pollute the sysWOW64 or system32(in case of 32bit) directories. The dlls should be deployed to the installation folder of your app (where the exe is) and subdirectories(platform/database/image plugins etc.).
You'll find more detailed info on that "here":http://qt-project.org/doc/qt-5/windows-deployment.html and a shorter, more manual step-by-step instructions "here":http://qt-project.org/wiki/Deploy_an_Application_on_Windows
-
This article shows you how to find the DLLs you need and where to put them: http://qt-project.org/wiki/Deploy_an_Application_on_Windows_
EDIT: Ah, that's the same one that Chris posted :)
-
thank you guys for your replies ,i really appreciate your regard ^_^
-
yes sir i did what you said and removed the DLL files i copied from SysWOW64 and put it in the program's path and it worked :)
[quote author="Chris Kawa" date="1412428848"]Hi, welcome to devnet.Never ever copy anything to the sysWOW64 folder. It's a system directory. Yes I know it seems to work but you're asking for trouble in the future. You should only ever put the dlls in the executable directory. If you modify any system directory or PATH environment variable or anything outside your program directory then "you're doing it wrong"™.
If you copied over 60MB of dll's then you probably copied every possible Qt module that Qt has.A usual program uses only a small subset like core, networking, widgets or qtquick so it's about 10MB, depending on the build you're using. Also remember that there are always two kinds of dlls - release and debug ones. The debug ones are much larger and you only need them when you're compiling your program in debug mode.
As for the deployment - no, the user doesn't have to install the SDK. It's a development environment and he doesn't need it. All he needs are the few specific dlls your app uses, and it's your responsibility as a programmer to deploy them along your executable. You should not pollute the sysWOW64 or system32(in case of 32bit) directories. The dlls should be deployed to the installation folder of your app (where the exe is) and subdirectories(platform/database/image plugins etc.).
You'll find more detailed info on that "here":http://qt-project.org/doc/qt-5/windows-deployment.html and a shorter, more manual step-by-step instructions "here":http://qt-project.org/wiki/Deploy_an_Application_on_Windows[/quote]