为啥 Qt WebEngine Chromium 在 MSVS Express 2015 下构建失败?

Posted

技术标签:

【中文标题】为啥 Qt WebEngine Chromium 在 MSVS Express 2015 下构建失败?【英文标题】:Why does the Qt WebEngine Chromium build fail under MSVS Express 2015?为什么 Qt WebEngine Chromium 在 MSVS Express 2015 下构建失败? 【发布时间】:2016-08-22 20:21:40 【问题描述】:

我正在尝试构建 Qt 5.7.0,但在 qtwebengine 模块中构建失败。捆绑的 Chromium 无法构建。

由于gyp 错误而失败:

Could not locate Visual Studio installation.

怎么了?是否有不涉及安装非 Express Visual Studio 的解决方法?

【问题讨论】:

【参考方案1】:

问题在于用于构建捆绑 Chromium 的 gyp 工具中的 MSVS 版本检测。见qtwebengine\src\3rdparty\chromium\tools\gyp\pylib\gyp\MSVSVersion.py。版本检测不知道 MSVS 2015 Express。

您必须覆盖 MSVS 版本检测。在构建 Qt 的提示符中,设置:

set GYP_MSVS_VERSION=2015
set GYP_MSVS_OVERRIDE_PATH=%ProgramFiles(x86)%\Microsoft Visual Studio 14.0

如果你有一个批处理文件来设置你的构建环境,下面的方法可以解决问题:

@set V_VSVERSION=2015
@set V_VSCOMNTOOLS=%VS140COMNTOOLS%
:: configure gyp overrides for msvs 2015 express
@if not exist "%V_VSCOMNTOOLS%\..\IDE\WDExpress.exe" goto no_vsexpress
@call :set_path V_VSEXPRESS "%V_VSCOMNTOOLS%\..\.."
@echo Info: Found MSVS Express %V_VSVERSION% at "%V_VSEXPRESS%"
@set GYP_MSVS_VERSION=%V_VSVERSION%
@set GYP_MSVS_OVERRIDE_PATH=%V_VSEXPRESS%
:no_vsexpress

@exit /b

:set_path
@set %1=%~f2
@goto :eof

【讨论】:

以上是关于为啥 Qt WebEngine Chromium 在 MSVS Express 2015 下构建失败?的主要内容,如果未能解决你的问题,请参考以下文章

为啥qt webengine不能播放youtube直播视频流

Qt各版本所使用的chrome内核

项目错误:QT 中的未知模块:webengine

Yocto SDK,QtWebEngine:QT 中的未知模块:webengine

如何单击 Qt WebEngine 中的按钮?

QT学习-核心类列表-3Qt WebEngine Widgets