如何使用专有编解码器在Windows上编译Qt webengine(5.11)

Dar*_*boy 6 qt compiler-errors build visual-studio qtwebengine

编译Qt webengine以启用专有编解码器时遇到了很多麻烦,文档不是很清楚.我在stackoverflow上遵循了其他说明,但它不起作用.我得到的错误如下:

Project ERROR: Cannot run compiler 'cl'. Output:
===================
===================
Maybe you forgot to setup the environment?
Run Code Online (Sandbox Code Playgroud)

要么

Needs VS 2015 Update 3 with Cumulative Servicing Release or higher
Qt WebEngine will not be built.
Run Code Online (Sandbox Code Playgroud)

要么

Could not detect Windows SDK Version ('WindowsSDKVersion' environment variable is not set).
Qt Webengine on Windows requires a Windows SDK version 10.0.10586 or newer.
QtWebEngine will not be built.
Run Code Online (Sandbox Code Playgroud)

要么

Needs Visual Studio 2017 or Higher
Qt WebEngine will not be built.
Run Code Online (Sandbox Code Playgroud)

要么

C1905: Front end and back end not compatible (must target same processor).
LNK1257: code generation failed
Run Code Online (Sandbox Code Playgroud)

Dar*_*boy 10

过去5天我遇到了所有这些问题.

如果你不知道如何开始编译Qt webengine(有或没有专有的编解码器),我正在做一步一步的指导.如果您已经完成了某些步骤,则可以自由跳过它们.

如果您看到任何错误,如果有这样做或者如果某些说明不明确,请告诉我,以便我可以更新

1.安装Visual Studio 2017

转到https://www.visualstudio.com/fr/downloads/并下载Visual Studio 2017.

Visual Sutdio Qt webengine最低先决条件

当这个窗口到来时,检查Desktop Development for C++并确认VC++ toolset 2015.3v v14.00 (v140)SDK Windows 10 (10.0.xxxxx.x)检查.

安装并等待它完成.

2.安装Qt源qt webengine

打开MaintenanceTool.exe当前进入Qt文件夹

添加或删除模块

Qt webengine最低先决条件

一定要检查至少包括:MSVC 2015 32-bit,MSVC 2015 64-bit,MSVC 2017 64-bit,Sources,Qt WebEngine

安装并等待它完成.

3.安装Qt webengine编译先决条件

(在此主题上从SébastienBémelmans复制的原始说明并稍作修改)

下载:

确保将每个.exe添加到系统路径,然后重新启动计算机.

4.用专有编解码器编译Qt webengine(或不编译)

打开cmd.exe(具有管理员权限).

type cd+ Microsoft Visual Studio文件夹的路径所在vcvarsall.bat的位置:

cd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build"


要编译成32位:

键入vcvars32.bat命令行

要编译成64位:

键入vcvars64.bat命令行


转到Qt的Sources路径并输入qtwebengine子目录:

cd "C:\Qt\5.11.0\Src\qtwebengine"
Run Code Online (Sandbox Code Playgroud)

要编译成32位:

键入"C:\Qt\5.11.0\msvc2015\bin\qmake.exe" -- -webengine-proprietary-codecs命令行(注意链接将转到msvc 2015 32位)

要编译成64位:

键入"C:\Qt\5.11.0\msvc2017_64\bin\qmake.exe" -- -webengine-proprietary-codecs到命令行(注意链接是要MSVC 2017年64位)


您的控制台应如下所示(32位):

编译Qt webengine专有编解码器

结果如下:

使用专有编解码器编译Qt webengine


现在你需要打电话给nmake.键入"版本32位或64位的nmake.exe路径",如下所示:

要编译成32位:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\Hostx86\x86\nmake.exe" 进入命令行(注意x86进入路径)

要编译成64位:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\Hostx64\x64\nmake.exe" 进入命令行(注意x64进入路径)


您的命令行现在应该输出很多东西.编译qt webengine需要大量的内存和空间(我的 计算机 上大约90 Go 和我的8 GO RAM的60%).一定要有位置和空闲记忆.它也是很长的处理

编译Qt webengine专有编解码器