在 Windows 上构建 Qt5 动态

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

过去我成功地为 Windows 创建了 Qt5 静态构建。 这次我尝试将最新的 Qt5 构建为动态构建,但生成的构建不起作用,具体来说:

  • 如果我将它用于 QtCreator 套件,并使用所述套件从 QtCreator 中运行我的应用程序,则应用程序在启动时崩溃,并出现找不到合适平台插件的错误

  • 如果我将所有 dll 和插件目录复制到我的应用程序构建目录中并从命令提示符运行它,应用程序在启动时仍然崩溃,这次没有任何有意义的错误消息(通过 envvar 调试插件显示所有相关插件都是发现)。

我在

nmake
nmake install
之前使用的配置命令是

C:\Qt5\qt5\bin\release>..\..\configure.bat  -v -release -opensource -nomake examples -nomake tests  -platform 
win32-msvc -opengl desktop -openssl -openssl-linked -I C:\Qt\Tools\OpenSSL_1.1\Win_x64\include -LC:\Qt\Tools\OpenSSL_1.1\Win_x64\lib -
recheck-all -skip qtpurchasing -qt-doubleconversion -qt-pcre -qt-zlib -qt-harfbuzz -qt-libpng -qt-libjpeg -qt-sqlite -
feature-location-labs-plugin -feature-webengine-proprietary-codecs -no-feature-webengine-developer-build -no-feature-
webengine-system-ninja -webengine-jumbo-build 0 

注意:使用此 Qt5 构建的 Qt5 和我的应用程序的编译均成功。

另请注意,在同一系统上,通过 QtCreator 使用 Qt 公司的在线安装程序 5.15.2 版本成功构建并运行了应用程序。

24 年 8 月 19 日更新: 我现在已经测试了带有传统前缀 (c: oo) 的前缀构建和带有

-prefix %CD%\qtbase
的前缀构建。然而,当通过套件在 QtCreator 中使用时,两种构建都会以相同的方式失败。

我的配置行是否有错误或缺失导致其无法正常工作?据我所知,我没有使用前缀(这有什么区别吗?

nmake install
将其安装到
C:\Qt\Qt-5.15.14
中)并且构建没有 qt.conf 作为输出。但我不确定这会在多大程度上影响构建..

或者,有人可以提供一个配置行来构建动态 Qt5 并在 windows(7) 上正常运行吗?

c++ qt qt5
1个回答
0
投票

事实证明我的配置行显然是正确的。 然而,无论出于何种原因,使用 QtCreator 内生成的构建始终失败。

从命令行构建应用程序,而不是使用该构建目录中的 qmake,生成一个工作二进制文件。 我不知道 QtCreator 是如何出错的(我尝试了版本 4.13、4.15 和 5.0.3),但至少我已经解决了我的问题并且现在可以构建应用程序。

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