如何在没有 QTCreator 的情况下 运行 我的应用程序?

How to run my application without QTCreator?

我正在学习QT和c++。设法创建一个简单的应用程序来监视串行端口。从 Qt 的内部运行一切正常。但是……当我关闭 Qt,转到调试文件夹并双击 .exe 文件时,没有任何反应。我想与我的同事分享这个应用程序 - 也许只是压缩所有内容并将其发送给他们,这样他们就可以解压缩到一个文件夹并直接使用 exe。无法弄清楚如何做这个基本的事情。没有适合像我这样的新手的教程。我尝试安装 Inno Setup 但不确定如何从那里继续。

编辑: 我将 comport.exe 复制到 release 文件夹,然后尝试 windeployqt.exe Comport.exe 然后得到结果: (我的应用名称是 comport.exe)。

G:\QT\build-ComPort-Desktop_Qt_5_9_1_MinGW_32bit-Debug\release>C:\Qt.9.1\mingw53_32\bin\windeployqt.exe ComPort.exe
G:\QT\build-ComPort-Desktop_Qt_5_9_1_MinGW_32bit-Debug\release\ComPort.exe 32 bit, debug executable
Adding Qt5Svg for qsvgicond.dll
Skipping plugin qtvirtualkeyboardplugind.dll due to disabled dependencies.
Direct dependencies: Qt5Core Qt5Gui Qt5SerialPort Qt5Widgets
All dependencies   : Qt5Core Qt5Gui Qt5SerialPort Qt5Widgets
To be deployed     : Qt5Core Qt5Gui Qt5SerialPort Qt5Svg Qt5Widgets
Warning: Cannot find GCC installation directory. g++.exe must be in the path.
Updating Qt5Cored.dll.
Updating Qt5Guid.dll.
Updating Qt5SerialPortd.dll.
Updating Qt5Svgd.dll.
Updating Qt5Widgetsd.dll.
Updating libGLESV2d.dll.
Updating libEGLd.dll.
Updating D3Dcompiler_47.dll.
Updating opengl32sw.dll.
Patching Qt5Cored.dll...
Creating directory G:/QT/build-ComPort-Desktop_Qt_5_9_1_MinGW_32bit-Debug/release/iconengines.
Updating qsvgicond.dll.
Creating directory G:/QT/build-ComPort-Desktop_Qt_5_9_1_MinGW_32bit-Debug/release/imageformats.
Updating qgifd.dll.
Updating qicnsd.dll.
Updating qicod.dll.
Updating qjpegd.dll.
Updating qsvgd.dll.
Updating qtgad.dll.
Updating qtiffd.dll.
Updating qwbmpd.dll.
Updating qwebpd.dll.
Creating directory G:/QT/build-ComPort-Desktop_Qt_5_9_1_MinGW_32bit-Debug/release/platforms.
Updating qwindowsd.dll.
Creating G:\QT\build-ComPort-Desktop_Qt_5_9_1_MinGW_32bit-Debug\release\translations...
Creating qt_bg.qm...
Creating qt_ca.qm...
Creating qt_cs.qm...
Creating qt_da.qm...
Creating qt_de.qm...
Creating qt_en.qm...
Creating qt_es.qm...
Creating qt_fi.qm...
Creating qt_fr.qm...
Creating qt_gd.qm...
Creating qt_he.qm...
Creating qt_hu.qm...
Creating qt_it.qm...
Creating qt_ja.qm...
Creating qt_ko.qm...
Creating qt_lv.qm...
Creating qt_pl.qm...
Creating qt_ru.qm...
Creating qt_sk.qm...
Creating qt_uk.qm...

在此之后什么也没有发生。我打开发布文件夹,发现 comport.exe 有更多文件(dll 和文件夹)。我双击exe还是没有反应

编辑:对于将我的问题标记为 "already has an answer" 的人 - 我的问题是关于 Windows 而不是 Unix/Linux 和 Mac。

当您使用 windeployqt 部署您的应用程序时,默认是发布版本,因此如果您想要部署调试版本的库(末尾带有 'd' 的库),您必须通过 --debug 参数.

您永远不应将编译为发布版本的程序与调试库和调试版本与发布库混合使用。调试库有一些额外的代码,它们彼此不兼容。

当您使用 MinGW 时,您可能还需要将 libgcc_s_dw2-1.dlllibstdc++-6.dlllibwinpthread-1.dllqtfolder/5.9/mingw.../bin 复制到您的 exe 文件夹中。