Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在没有QTCreator的情况下运行我的应用程序? 我正在学习QT和C++。设法创建了一个简单的应用程序来监视串行端口。从Qt内部运行正常。但是当我关闭Qt,转到debug文件夹并双击.exe文件时,什么也没有发生。我想与我的同事共享这个应用程序-可能只是将所有内容压缩并发送给他们,这样他们就可以解压缩到文件夹并直接使用exe。不知道怎么做这个基本的事情。没有适合像我这样的新手的教程。我试图安装Inno安装程序,但不确定如何从那里继续_Qt_Exe - Fatal编程技术网

如何在没有QTCreator的情况下运行我的应用程序? 我正在学习QT和C++。设法创建了一个简单的应用程序来监视串行端口。从Qt内部运行正常。但是当我关闭Qt,转到debug文件夹并双击.exe文件时,什么也没有发生。我想与我的同事共享这个应用程序-可能只是将所有内容压缩并发送给他们,这样他们就可以解压缩到文件夹并直接使用exe。不知道怎么做这个基本的事情。没有适合像我这样的新手的教程。我试图安装Inno安装程序,但不确定如何从那里继续

如何在没有QTCreator的情况下运行我的应用程序? 我正在学习QT和C++。设法创建了一个简单的应用程序来监视串行端口。从Qt内部运行正常。但是当我关闭Qt,转到debug文件夹并双击.exe文件时,什么也没有发生。我想与我的同事共享这个应用程序-可能只是将所有内容压缩并发送给他们,这样他们就可以解压缩到文件夹并直接使用exe。不知道怎么做这个基本的事情。没有适合像我这样的新手的教程。我试图安装Inno安装程序,但不确定如何从那里继续,qt,exe,Qt,Exe,编辑: 我将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

编辑: 我将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。

使用windeployqt部署应用程序时,默认为release build,因此如果要部署调试版本的libs,则必须传递-debug参数

决不能将编译为发行版的程序与调试库混合使用,也不能将调试版与发行版库混合使用。调试库有一些额外的代码,它们彼此不兼容


使用MinGW时,可能还需要将libgcc_s_dw2-1.dll、libstdc++-6.dll和libwinpthread-1.dll从qtfolder/5.9/MinGW…/bin复制到exe文件夹。

了解Windeployqt不要这样做,调试模式下的可执行文件与发布模式不同。您必须在Qt Creator中更改编译模式,然后在release模式下编译。@GeneCode错误,您应该将项目配置为release、build,然后使用windeployqt。此外,您可能需要将libgcc_s_dw2-1.dll、libstdc++-6.dll和libwinpthread-1.dll从qtfolder/5.9/mingw…/bin复制到您的exe文件夹。windeployqt默认情况下假定您提供的是发布模式,因此您可以获得这些dll,如果您希望对调试模式执行相同操作,则应放置:windeployqt-debug_executable@Macias很有效,谢谢你。如果你写下答案,我可以接受。那些LIB的手动副本是我一直缺少的。还有,谢谢你的评论。