我正在学习QT和c ++。管理创建一个简单的应用程序来监控串口。从INSET of 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\5.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...
在此之后没有任何反应。我打开release文件夹,发现comport.exe包含更多文件(dll和文件夹)。我双击exe仍然没有任何反应。
编辑:对于将我的问题标记为“已经有答案”的人 - 我的问题是关于Windows而不是Unix / Linux和Mac。
答案 0 :(得分:1)
使用windeployqt
部署应用程序时,默认为发布版本,因此如果要部署libs的调试版本(末尾带有“d”的版本),则必须通过--debug
参数。
您永远不应将编译为Release版本的程序与调试库和调试版本与版本库混合。调试库有一些额外的代码,它们彼此不兼容。
使用MinGW时,您可能还需要将libgcc_s_dw2-1.dll
,libstdc++-6.dll
和libwinpthread-1.dll
从qtfolder/5.9/mingw.../bin
复制到您的exe文件夹。