【发布时间】:2019-02-23 22:37:11
【问题描述】:
我在 Qt 中构建了一个非常简单的计算器。当我从 qt creator 以发布模式运行它时,一切正常。但是,当我转到发布文件夹并运行它时,它会给出 QT5Core.dll、QT5Widgets.dll 和 QT5Gui.dll 未找到。在那里运行windeployqt后:
windeployqt .
所有的 dll 都被添加了。但是,它会给出错误 VCRUNTIME140_APP.dll 和 MSVCP140_APP.dll 未找到。将它们复制到文件夹后。 exe在双击时没有给出任何错误,但只是没有启动。我该怎么办? 我找到了这个解决方案here,但是我在应用程序目录中找不到任何 qml 文件。
我将它创建为 QT 小部件应用程序。我正在使用带有 Visual Studio 2017 和 MSVC2017 64 位桌面套件的 Windows 10。该应用程序是 C++ 语言。
更新: 运行命令
windeployqt Calculator.exe
将 qt 添加到路径后似乎可以解决问题。即使从路径中删除 qt 后应用程序也能正常工作。将尝试在 vm 中运行应用程序,以确保更加确定。
【问题讨论】:
-
您说:但是我在应用程序目录中找不到任何 qml 文件,如果您使用的是 .qrc,则不再需要使用 .qml,因为这些嵌入在可执行文件中
-
从命令提示符运行您的应用程序并检查它是否显示错误消息。
-
也许您可以只构建带有依赖项的 exe?
-
请注意,Windows 不会在命令提示符中显示 GUI 应用程序的 stdout 输出。如果你想查看标准输出,你必须调用 AllocConsole() 和 freopen() 来获得一个显示标准输出输出的窗口。