How do deploy setup.exe of a QT project for MS windows, MacOS and Ubuntu 1 MS Windows ------------- - Create a release build of program. In release folder you will find the .exe file. - Delete in this folder all files that are not needed during programm execution (.obj , mocs). - Open a terminal go to build directory. cd - Then execute: windeployqt6 myApp.exe After this, this folder contain all files needed to execute myApp. - You can create the setup.exe with an utility like inno setup. 2 Mac OS --------- In Ubuntu you can use Sosumi mac emulator to create the .dmg file. - Create a release build of program. In release folder you will find a myApp.app file. - In build folder delete all the files not needed for programm execution. -Open a terminal.In terminal change directory to build directory cd -Find file macdeployqt is file system. Give the command: find / -name macdeployqt -Execute macdeployqt with parameters myApp.app and -dmg /macdeployqt myApp.app -dmg myApp.dmg file is now created 3 Ubuntu --------- - Download from https://github.com/probonopd/linuxdeployqt/releases : For Qt5 from older releases file : linuxdeployqt-5-x86_64.AppImage For Qt6 download file : linuxdeployqt-continuous-x86_64.AppImage (For Qt6 you will need ubuntu 20 or 22) - Create a release build of the programm - In build folder delete all not needed in execution files (files .0, .a , moc_, qrc_ and the Makefile) - Open a terminal and go to build folder cd - Add qmake in PATH if not exist export PATH="/home/user/Qt/6.6.0/gcc_64/bin:$PATH" - Execute command: ~/Downloads/linuxdeployqt-continuous-x86_64.AppImage myApp -appimage where myApp is the executable of the Qt application. -This will create myApp.AppImage that is an executable of the App. You may have to give command sudo apt install libfuse2 or sudo apt install libfuse2t64 to execute in Ubuntu. - It is possible to create a myApp.tgz that contains all the needed files. Create a new Folder (MyApp) and add in it all files except the created AppImage file. The give command: tar -cvf myApp.tgz ./MyApp This will create a folder with all needed file for execution.