【问题标题】:QT CMAKE based application wrong dependency基于 QT CMAKE 的应用程序错误依赖
【发布时间】:2020-09-08 00:30:08
【问题描述】:

我目前正在接受一项任务,让这个project 在 Windows 10 上运行。我设法让它编译并构建通过,我开始运行它但它没有启动并且输出非常简单,如下所示。

15:49:31: Starting J:\Projects\huang\build-App-EGIAmpServer-master-new_kit-Debug\EGIAmpServer.exe ...
15:49:32: The program has unexpectedly finished.
15:49:32: The process was ended forcefully.
15:49:32: J:\Projects\huang\build-App-EGIAmpServer-master-new_kit-Debug\EGIAmpServer.exe crashed.

调试器日志对我没有多大帮助,如下所示

>21^done
dNOTE: ENGINE SETUP OK
dState changed from EngineSetupRequested(1) to EngineSetupOk(3)
dState changed from EngineSetupOk(3) to EngineRunRequested(4)
dCALL: RUN ENGINE
<22-exec-run


>=thread-group-started,id="i1",pid="10748"
 Thread group i1 created.
dTaking notice of pid 10748
>=thread-created,id="1",group-id="i1"
 Thread 1 created.
>~"[New Thread 10748.0x2534]\n"
 [New Thread 10748.0x2534]

>=thread-exited,id="1",group-id="i1"
 Thread 1 in group i1 exited.
>=thread-group-exited,id="i1"
 Thread group i1 exited.
dNOTE: INFERIOR EXITED
dState changed from EngineRunRequested(4) to InferiorShutdownFinished(14)
dState changed from InferiorShutdownFinished(14) to EngineShutdownRequested(15)
dCALL: SHUTDOWN ENGINE
dPLAIN ADAPTER SHUTDOWN 15
dINITIATE GDBENGINE SHUTDOWN, PROC STATE: 2
<23python theDumper.exitGdb({"token":23})
>22^error,msg="During startup program exited with code 0xc0000135."
eERROR: UNEXPECTED STATE: EngineShutdownRequested  WANTED: EngineRunRequested IN C:\Users\qt\work\build\qt-creator\src\plugins\debugger\gdb\gdbengine.cpp:4480
dDuring startup program exited with code 0xc0000135.
dNOTE: ENGINE RUN FAILED
 Run failed.
dState changed from EngineShutdownRequested(15) to EngineRunFailed(5)
dState changed from EngineRunFailed(5) to EngineShutdownRequested(15)
dCALL: SHUTDOWN ENGINE
dPLAIN ADAPTER SHUTDOWN 15
dINITIATE GDBENGINE SHUTDOWN, PROC STATE: 2
<24python theDumper.exitGdb({"token":24})

dQUIT DEBUGGER REQUESTED IN STATE 15
>&"python theDumper.exitGdb({\"token\":23})\n"
dGDB PROCESS FINISHED, status 0, exit code 0
dNOTE: ENGINE SHUTDOWN FINISHED
dState changed from EngineShutdownRequested(15) to EngineShutdownFinished(16)
 Debugger finished.
dState changed from EngineShutdownFinished(16) to DebuggerFinished(17)

所以我使用dependency walker 来查看是否缺少任何 dll。现在事情越来越清楚,看起来 QT5CORE.DLL、QT5GUI.DLL 和 QY5WIDGETS.DLL 是错误的。

现在的问题是我的环境为什么以及有什么问题?我正在使用 QT Creator 4.11.1、MinGW 7.3.0 64 位(QT 随附)、CMake 3.17 Win10 64 操作系统。我的 QT Creator 套件如下所示。

【问题讨论】:

  • 在 Stack Overflow 上,我们更喜欢 粘贴 代码/错误/日志的 文本 到问题帖子中以提供 图像 本文。请用文本替换前两个屏幕截图。另见How to Ask

标签: c++ qt cmake mingw qt-creator


【解决方案1】:

运行程序时,您需要在程序目录或PATH 中拥有正确的 64 位 Qt DLL。从您的屏幕截图中,我假设您在 PATH 中有 32 位 QtCreator 的目录。

【讨论】:

    猜你喜欢
    • 2017-02-11
    • 1970-01-01
    • 2019-07-10
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 2016-06-22
    • 2019-04-17
    • 2015-06-11
    相关资源
    最近更新 更多