windeployqt 创建了一个不起作用的 exe

问题描述 投票:0回答:1

我制作了一个简单的应用程序,可以使用“make”在 Ubuntu 和 Mac 上构建,但在 Windows 上,当我尝试使用 QT Creator 构建应用程序时,出现这些错误。

我这样做了:

  1. 打开 Qt Creator。
  2. 创建一个新项目:创建项目 -> 应用程序 -> Qt Widgets 应用程序
  3. 从 gui/ 复制源代码:mainwindow.h、mainwindow.cpp 和 main.cpp
  4. 构建:构建->构建项目“redatamguiwindows”

使用

choco install directx
安装Chocolatey并将DLL复制到
Z:\redatamguiwindows\build\Desktop_Qt_6_7_2_MinGW_64_bit-Debug
后,我运行了

$vcInstallDir = "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC"
[System.Environment]::SetEnvironmentVariable("VCINSTALLDIR", $vcInstallDir, [System.EnvironmentVariableTarget]::Process)
cd Z:\redatamguiwindows\build\Desktop_Qt_6_7_2_MinGW_64_bit-Debug
& "C:\Qt\6.7.2\mingw_64\bin\windeployqt.exe" redatamguiwindows.exe

它显示“警告:找不到任何版本的 dxcompiler.dll 和 dxil.dll。”

然后当我打开 exe 时,它显示“exe 仍然失败,并显示“过程入口点...”

你知道如何解决这个问题吗?

我使用的是从 https://d13lb3tujbc8s0.cloudfront.net/onlineinstallers/qt-online-installer-windows-x64-4.8.0.exe 下载的 Qt 6.7,并且安装了默认的 Qt 桌面。

c++ qt
1个回答
0
投票

在 Windows 上,Qt 提供两个选项:MingGW 和 MSVC。如果您的代码包含 C++17 或更高版本的特定函数,则必须在安装了 Visual Studio 的情况下使用 MSVC 选项。

在我之前的问题中,我最终确定从 https://d13lb3tujbc8s0.cloudfront.net/onlineinstallers/qt-online-installer-windows-x64-4.8.0.exe 安装时我选择了“Qt 5 for MSVC” 2019 64 位”

然后我用

choco install directx -y
安装了directX。我无法使用
choco install qt5-default
,因为它是 MinGW 并且我的应用程序使用 C++17 方法。

然后我可以用

构建我的应用程序
mkdir build
cd Z:\redatamguiwindows\build
cmake .. -G "Visual Studio 16 2019"
cmake --build . --config Release
& "C:\Qt\5.15.2\msvc2019_64\bin\windeployqt.exe" --release .\Release\redatamgui.exe

代码在这里https://github.com/pachadotdev/redatam-converter/tree/main/redatamguiwindows

© www.soinside.com 2019 - 2024. All rights reserved.