查看完整版本: [-- Qt6.4.1动态编译QWebEngine ,支持MP4(VS2019_64) --]

QTCN开发网 -> Qt安装与发布 -> Qt6.4.1动态编译QWebEngine ,支持MP4(VS2019_64) [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

89614215 2021-11-22 14:57

Qt6.4.1动态编译QWebEngine ,支持MP4(VS2019_64)

经过一周摸索终于能完成编译。喜欢的拿去。(注:未做深度测试,仅测试了某牙直播平台可播放视频
版本说明:6.2.1+ release+debug  参数只添加了webengine-proprietary-codecs

版本说明:6.2.4+ release+debug  参数只添加了webengine-proprietary-codecs
版本说明:6.4.1+ release+debug  参数只添加了webengine-proprietary-codecs


心情不好,编译了一下6.2.4。(2022.4.15)


庆祝阳后好转,编译一下6.4.1。(2022.12.24)


某度网盘地址:链接: https://pan.baidu.com/s/1FrUA57qdCoi-eHulzKEGKg 提取码: uaaj(此地址还有Qt5.15.2版本
某里云盘地址: 链接:https://www.aliyundrive.com/s/RxnfPfg4LC3
如有问题欢迎留言讨论。













liudianwu 2021-11-22 20:17

liulin188 2021-11-23 14:09
像楼主这种无私奉献的精神致敬

jsxyhyj 2021-11-23 15:52
有教程吗?

89614215 2021-11-26 18:23
jsxyhyj:
有教程吗?

摸索完成的 这个方法谈不上教程。很多参数都没明白。
我分享一下编译的尝试方向和编译过程中的坑吧。
一、编译方法
1.编译命令:cmake  d:\src\qtwebengine -G “Ninja”  
2.编译参数:电脑在编译完成后换成了deepin系统,具体的参数是什么忘记了。我分享一下参数的获取方法吧。可以通过configure  整个Qt的代码时添加所有参数  得到 cmakecache。在里边有所有的参数设置。得到各个参数名及值以后  可以通过cmake -D 命令把参数传进去。例如:cmake d:\src\qtwebengine -G “Ninja” -DQTbuild_Mode:string=release (红色参数是我胡编的,具体值忘记了,请自行查询)。
再一个添加参数的方法就是直接修改代码,webengine-propietary-codecs 默认值修改成on 就可以了,具体在哪个文件里忘记了,是在一个cmake的文件里,用搜索软件搜一下吧。其他参数也一并在那修改。
3.编译:cmake --build . --parallel
              cmake --install .
              在完成上边的编译设置后就可以用上边的命令编译了。
二、无法编译可能的问题
1、编译环境,该装的都装上就行了,网上很多。这说一下python,官方说是用3.0 实际上还是需要2.7的版本。
2、编译源码,我编译的是另外下载的,不是安装时安装的源码,是从https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/376578  这里下载的。这里都是修复过的。我编译的是这个版本。(下载可能是个头疼事,自己想办法解决吧)
3、源码在解压的时候可能会错误。源码在解压后部分代码成乱码了,可以通过对比源码改成正确的。

基本上就上边的情况吧,祝你编译成功,完成自己想要的版本。

lixinwei 2021-11-27 00:45
89614215:摸索完成的 这个方法谈不上教程。很多参数都没明白。
我分享一下编译的尝试方向和编译过程中的坑吧。
一、编译方法
1.编译命令:cmake  d:\src\qtwebengine -G “Ninja”  
....... (2021-11-26 18:23)

使用Qt在线安装程序安装Qt 6.2 MSVC2019 64-bit,勾选所有必要的模块(WebChannel Positioning WebSockets等),并将bin目录添加到PATH
如果同时需要Release和Debug:
qt-cmake d:\src\qtwebengine -G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES=Release;Debug -DFEATURE_webengine_propietary_codecs=ON
如果只需要Release:
qt-cmake d:\src\qtwebengine -G"Ninja" -DCMAKE_BUILD_TYPE=Release -DFEATURE_webengine_propietary_codecs=ON
然后:
cmake --build . --parallel
cmake --install .
(install之前可以先设置DESTDIR环境变量,如设置为d:\temp,这会将编译出的文件安装到d:\temp下,便于单独打包)

89614215 2021-11-27 11:11
lixinwei:(在已安装Qt的前提下)
qt-cmake-private d:\src\qtwebengine -DFEATURE_webengine_propietary_codecs=ON
cmake --build . --parallel
cmake --install .
....... (2021-11-27 00:45) 


hcaihao 2021-12-22 10:30
[5747/27195] CXX obj/third_party/libgav1/libgav1_utils/entropy_decoder.obj
cl : Command line warning D9025 : overriding '/O1' with '/O2'
[6571/27195] LINK nasm.exe nasm.exe.pdb
  OptRef: Total time = 0.000s

  OptIcf: Total time = 0.000s

Pass 1: Interval #1, time = 1.031s

  Wait PDB close: Total time = 0.000s

  Wait type merge: Total time = 0.000s

Pass 2: Interval #2, time = 0.141s

Final: Total time = 1.172s

[7095/27195] CXX obj/third_party/ots/ots/cff_charstring.obj
../../../3rdparty/chromium/third_party/ots/src/src/cff_charstring.cc(376): warning C4018: '>=': signed/unsigned mismatch../../../3rdparty/chromium/third_party/ots/src/src/cff_charstring.cc(393): warning C4018: '>=': signed/unsigned mismatch../../../3rdparty/chromium/third_party/ots/src/src/cff_charstring.cc(398): warning C4018: '<': signed/unsigned mismatch
[7102/27195] CXX obj/third_party/ots/ots/cff.obj
../../../3rdparty/chromium/third_party/ots/src/src/cff.cc(548): warning C4018: '<': signed/unsigned mismatch
../../../3rdparty/chromium/third_party/ots/src/src/cff.cc(1314): warning C4018: '>': signed/unsigned mismatch
[9400/27195] CXX obj/third_party/perfetto/src/trace_processor/db/lib/column.obj
FAILED: obj/third_party/perfetto/src/trace_processor/db/lib/column.obj
ninja -t msvc -e environment.x86 -- "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\bin\HostX64\x86/cl.exe" /nologo /showIncludes -DUSE_AURA=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_HAS_EXCEPTIONS=0 -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_VB -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DPERFETTO_IMPLEMENTATION -Igen -I../../../3rdparty/chromium -I../../../3rdparty/chromium/third_party/perfetto -I../../../3rdparty/chromium/third_party/perfetto/src/profiling/memory/include -I../../../3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto /Gy /FS /bigobj /utf-8 /Zc:sizedDealloc- /W4 /wd4091 /wd4127 /wd4251 /wd4275 /wd4312 /wd4324 /wd4351 /wd4355 /wd4503 /wd4589 /wd4611 /wd4100 /wd4121 /wd4244 /wd4505 /wd4510 /wd4512 /wd4610 /wd4838 /wd4995 /wd4996 /wd4456 /wd4457 /wd4458 /wd4459 /wd4200 /wd4201 /wd4204 /wd4221 /wd4245 /wd4267 /wd4305 /wd4389 /wd4702 /wd4701 /wd4703 /wd4661 /wd4706 /wd4715 /wd4003 /wd4068 /wd5051 /wd4267 /O1 /Ob2 /Oy- /Zc:inline /Gw /Oi /MD /TP /wd4577 /GR- /c ../../../3rdparty/chromium/third_party/perfetto/src/trace_processor/db/column.cc /Foobj/third_party/perfetto/src/trace_processor/db/lib/column.obj /Fd"obj/third_party/perfetto/src/trace_processor/db/lib_cc.pdb"
../../../3rdparty/chromium/third_party/perfetto\src/trace_processor/containers/bit_vector.h(435): error C3861: '__popcnt64': identifier not found
../../../3rdparty/chromium/third_party/perfetto\src/trace_processor/containers/bit_vector.h(441): error C3861: '__popcnt64': identifier not found
[9401/27195] CXX obj/third_party/perfetto/src/trace_processor/db/lib/table.obj
FAILED: obj/third_party/perfetto/src/trace_processor/db/lib/table.obj
ninja -t msvc -e environment.x86 -- "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\bin\HostX64\x86/cl.exe" /nologo /showIncludes -DUSE_AURA=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_HAS_EXCEPTIONS=0 -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=2 -DWIN32 -D_SECURE_ATL -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=NTDDI_WIN10_VB -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DPERFETTO_IMPLEMENTATION -Igen -I../../../3rdparty/chromium -I../../../3rdparty/chromium/third_party/perfetto -I../../../3rdparty/chromium/third_party/perfetto/src/profiling/memory/include -I../../../3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto /Gy /FS /bigobj /utf-8 /Zc:sizedDealloc- /W4 /wd4091 /wd4127 /wd4251 /wd4275 /wd4312 /wd4324 /wd4351 /wd4355 /wd4503 /wd4589 /wd4611 /wd4100 /wd4121 /wd4244 /wd4505 /wd4510 /wd4512 /wd4610 /wd4838 /wd4995 /wd4996 /wd4456 /wd4457 /wd4458 /wd4459 /wd4200 /wd4201 /wd4204 /wd4221 /wd4245 /wd4267 /wd4305 /wd4389 /wd4702 /wd4701 /wd4703 /wd4661 /wd4706 /wd4715 /wd4003 /wd4068 /wd5051 /wd4267 /O1 /Ob2 /Oy- /Zc:inline /Gw /Oi /MD /TP /wd4577 /GR- /c ../../../3rdparty/chromium/third_party/perfetto/src/trace_processor/db/table.cc /Foobj/third_party/perfetto/src/trace_processor/db/lib/table.obj /Fd"obj/third_party/perfetto/src/trace_processor/db/lib_cc.pdb"
../../../3rdparty/chromium/third_party/perfetto\src/trace_processor/containers/bit_vector.h(435): error C3861: '__popcnt64': identifier not found
../../../3rdparty/chromium/third_party/perfetto\src/trace_processor/containers/bit_vector.h(441): error C3861: '__popcnt64': identifier not found
[9405/27195] ACTION //third_party/libvpx:libvpx_asm_action(//build/toolchain/win:x86)
ninja: build stopped: subcommand failed.
FAILED: qtwebengine/src/core/Release/AMD64/QtWebEngineCore.stamp qtwebengine/src/core/Release/AMD64/QtWebEngineCore E:/Qt/6.2.2/qtwebengine/src/core/Release/AMD64/QtWebEngineCore.stamp E:/Qt/6.2.2/qtwebengine/src/core/Release/AMD64/QtWebEngineCore
cmd.exe /C "cd /D E:\Qt\6.2.2\qtwebengine\src\core && "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja\ninja.exe" -C E:/Qt/6.2.2/qtwebengine/src/core/Release/AMD64 QtWebEngineCore"ninja: build stopped: subcommand failed.


请教楼上两位大佬,为啥我编译的时候出现这个报错,6.2.2+VS2019/VS2022都不行。

configue的时候没问题,cmake出错。

configure.bat -prefix "C:\Qt\6.2.2\msvc2022" -debug-and-release -platform win32-msvc -opensource
cmake --build . --parallel

89614215 2021-12-24 14:40
hcaihao:[5747/27195] CXX obj/third_party/libgav1/libgav1_utils/entropy_decoder.obj
cl : Command line warning D9025 : overriding '/O1' with '/O2'
[6571/27195] LINK nasm.exe nasm.exe.pdb
  OptRef: Total time = 0.000s
....... (2021-12-22 10:30) 

官方下载的源码 好像就是无法编译通过,建议你去https://codereview.qt-project.org/ 找找最新的修复版本。  上边的贴着里写过类似的情况

fsu0413 2021-12-25 14:38
hcaihao:[5747/27195] CXX obj/third_party/libgav1/libgav1_utils/entropy_decoder.obj
cl : Command line warning D9025 : overriding '/O1' with '/O2'
[6571/27195] LINK nasm.exe nasm.exe.pdb
  OptRef: Total time = 0.000s
....... (2021-12-22 10:30) 

你编译的是32位?
Qt都已经不支持32位了。。。。。。。

hcaihao 2021-12-25 21:58
fsu0413:你编译的是32位?
Qt都已经不支持32位了。。。。。。。 (2021-12-25 14:38) 

对对,我也发现是这个问题,那么有办法支持32编译吗?

hcaihao 2021-12-25 21:59
WARNING: QDoc will not be compiled, probably because libclang could not be located. This means that you cannot build the Qt documentation.
Either set CMAKE_PREFIX_PATH or LLVM_INSTALL_DIR to the location of your llvm installation.
On Linux systems, you may be able to install libclang by installing the libclang-dev or libclang-devel package, depending on your distribution.
On macOS, you can use Homebrew's llvm package.
You will also need to set the FEATURE_clang CMake variable to ON to re-evaluate this check.
WARNING: Clang-based lupdate parser will not be available. LLVM and Clang C++ libraries have not been found.
You will need to set the FEATURE_clangcpp CMake variable to ON to re-evaluate this check.


另外,configure的时候还有这个警告,我已经装了llvm,并设置了LLVM_INSTALL_DIR,求高人指点?

fsu0413 2021-12-26 06:35
hcaihao:对对,我也发现是这个问题,那么有办法支持32编译吗? (2021-12-25 21:58) 

Qt6的话是完全放弃了32位的,如果要32位的话用Qt5
另外Qt6.2只支持Win10 1809以后的版本

fsu0413 2021-12-26 06:36
hcaihao:WARNING: QDoc will not be compiled, probably because libclang could not be located. This means that you cannot build the Qt documentation.
Either set CMAKE_PREFIX_PATH or LLVM_INSTALL_DIR to the location of your llvm installation.
On Linux systems, you may be  .. (2021-12-25 21:59) 

LLVM要自己构建的,需要里面的静态库

hcaihao 2021-12-26 10:41
感谢大佬,我试试~

lixinwei 2021-12-27 14:47
hcaihao:WARNING: QDoc will not be compiled, probably because libclang could not be located. This means that you cannot build the Qt documentation.
Either set CMAKE_PREFIX_PATH or LLVM_INSTALL_DIR to the location of your llvm installation.
On Linux systems, you may be  .. (2021-12-25 21:59)

https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_120-based-windows-vs2019_64.7z


junlee1986 2022-04-02 16:51
大佬些,有没有pyside2或者pysdie2的版本的啊,求一份

89614215 2022-04-15 09:35
6.2.4的qwebengine  

狮子雄起 2022-07-13 11:38
跪求 Qt6.4.0 编译QWebEngine,有偿:393241163

89614215 2022-07-14 08:27
狮子雄起:跪求 Qt6.4.0 编译QWebEngine,有偿:393241163 (2022-07-13 11:38) 

过会我试一下 看看能不能编译,能编译我就发上来

fsu0413 2022-09-14 17:18
狮子雄起:跪求 Qt6.4.0 编译QWebEngine,有偿:393241163 (2022-07-13 11:38) 

6.4.0还没正式发布

121888598 2022-10-26 21:47
QT 5.15能用6.4的WebEngine吗?

acheng950310 2022-12-21 13:53
大佬,能来一份6.4.1版本的么

89614215 2022-12-24 09:03
acheng950310:大佬,能来一份6.4.1版本的么 (2022-12-21 13:53) 

网盘已传,先测试再使用。

acheng950310 2023-01-04 15:44
89614215:[表情]网盘已传,先测试再使用。 (2022-12-24 09:03) 

万分感谢大佬,阳康后最好的礼物

hiforever 2023-10-17 19:56
大佬这个怎么用 新手求教


查看完整版本: [-- Qt6.4.1动态编译QWebEngine ,支持MP4(VS2019_64) --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled