migrate qt6.2 - tootal/DBLParse GitHub Wiki

Migrate to Qt 6.2

Build with Qt 6.2-alpha

got some error:

Running C:\Users\tootal\scoop\shims\cmake.exe -S C:/Users/tootal/workspace/DBLParse -B C:/Users/tootal/AppData/Local/Temp/QtCreator-GMiMkS/qtc-cmake-mqPXIThI in C:\Users\tootal\AppData\Local\Temp\QtCreator-GMiMkS\qtc-cmake-mqPXIThI.
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE  
-- Check if linker can resolve circular dependencies - TRUE
-- Performing Test HAVE_STDATOMIC
-- Performing Test HAVE_STDATOMIC - Success
-- Found WrapAtomic: TRUE  
-- Could NOT find Vulkan (missing: Vulkan_LIBRARY Vulkan_INCLUDE_DIR) 
-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR) 
-- Could NOT find WrapOpenSSLHeaders (missing: WrapOpenSSLHeaders_FOUND) 
-- Could NOT find Vulkan (missing: Vulkan_LIBRARY Vulkan_INCLUDE_DIR) 
-- Could NOT find Qt6Positioning (missing: Qt6Positioning_DIR)
CMake Warning at C:/Users/tootal/scoop/apps/cmake/3.20.5/share/cmake-3.20/Modules/CMakeFindDependencyMacro.cmake:47 (find_package):
  Found package configuration file:

    C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6WebEngineCore/Qt6WebEngineCoreConfig.cmake

  but it set Qt6WebEngineCore_FOUND to FALSE so package "Qt6WebEngineCore" is
  considered to be NOT FOUND.  Reason given by package:

  Qt6WebEngineCore could not be found because dependency Qt6Positioning could
  not be found.

Call Stack (most recent call first):
  C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:14 (find_dependency)
  C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6WebEngineWidgets/Qt6WebEngineWidgetsDependencies.cmake:92 (_qt_internal_find_dependencies)
  C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6WebEngineWidgets/Qt6WebEngineWidgetsConfig.cmake:40 (include)
  C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6/Qt6Config.cmake:110 (find_package)
  src/CMakeLists.txt:11 (find_package)


CMake Warning at C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6/Qt6Config.cmake:110 (find_package):
  Found package configuration file:

    C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6WebEngineWidgets/Qt6WebEngineWidgetsConfig.cmake

  but it set Qt6WebEngineWidgets_FOUND to FALSE so package
  "Qt6WebEngineWidgets" is considered to be NOT FOUND.  Reason given by
  package:

  Qt6WebEngineWidgets could not be found because dependency Qt6WebEngineCore
  could not be found.

Call Stack (most recent call first):
  src/CMakeLists.txt:11 (find_package)


CMake Warning at C:/Users/tootal/scoop/apps/cmake/3.20.5/share/cmake-3.20/Modules/CMakeFindDependencyMacro.cmake:47 (find_package):
  Found package configuration file:

    C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6/Qt6Config.cmake

  but it set Qt6_FOUND to FALSE so package "Qt6" is considered to be NOT
  FOUND.  Reason given by package:

  Failed to find Qt component "WebEngineWidgets" config file at ""

  

Call Stack (most recent call first):
  C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6Svg/Qt6SvgDependencies.cmake:8 (find_dependency)
  C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6Svg/Qt6SvgConfig.cmake:40 (include)
  C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6/Qt6Config.cmake:110 (find_package)
  src/CMakeLists.txt:11 (find_package)


CMake Warning at C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6/Qt6Config.cmake:110 (find_package):
  Found package configuration file:

    C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6Svg/Qt6SvgConfig.cmake

  but it set Qt6Svg_FOUND to FALSE so package "Qt6Svg" is considered to be
  NOT FOUND.  Reason given by package:

  Qt6Svg could not be found because dependency Qt6 could not be found.

Call Stack (most recent call first):
  src/CMakeLists.txt:11 (find_package)


CMake Error at src/CMakeLists.txt:11 (find_package):
  Found package configuration file:

    C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6/Qt6Config.cmake

  but it set Qt6_FOUND to FALSE so package "Qt6" is considered to be NOT
  FOUND.  Reason given by package:

  Failed to find Qt component "WebEngineWidgets" config file at ""

  Failed to find Qt component "Svg" config file at ""

  



-- Configuring incomplete, errors occurred!
See also "C:/Users/tootal/AppData/Local/Temp/QtCreator-GMiMkS/qtc-cmake-mqPXIThI/CMakeFiles/CMakeOutput.log".
See also "C:/Users/tootal/AppData/Local/Temp/QtCreator-GMiMkS/qtc-cmake-mqPXIThI/CMakeFiles/CMakeError.log".
CMake process exited with exit code 1.
Elapsed time: 00:02.

Note the webengine not found, try to find it.

but it set Qt6WebEngineCore_FOUND to FALSE so package "Qt6WebEngineCore" is considered to be NOT FOUND.

First check the file C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6/QtPublicDependencyHelpers.cmake:14 (find_dependency), it define a macro _qt_internal_find_dependencies. Go up to C:/Qt/6.2.0/msvc2019_64/lib/cmake/Qt6WebEngineWidgets/Qt6WebEngineWidgetsDependencies.cmake:92, code:

# note: target_deps example: "Qt6Core\;5.12.0;Qt6Gui\;5.12.0"
set(_WebEngineWidgets_target_deps "Qt6Core\;6.2.0;Qt6Gui\;6.2.0;Qt6Widgets\;6.2.0;Qt6WebEngineCore\;6.2.0;Qt6PrintSupport\;6.2.0")
set(_WebEngineWidgets_find_dependency_paths "${CMAKE_CURRENT_LIST_DIR}/..")
_qt_internal_find_dependencies(_WebEngineWidgets_target_deps _WebEngineWidgets_find_dependency_paths)

set(_Qt6WebEngineWidgets_MODULE_DEPENDENCIES "Core;6.2.0;Gui;Widgets;WebEngineCore;PrintSupport")
set(Qt6WebEngineWidgets_FOUND TRUE)

got the reason: Qt6WebEngineCore could not be found because dependency Qt6Positioning could not be found.

search Qt Positioning

check install it again.

Fix network restart

now we can compile code with qt 6.2 successful, but we can not start the program.

we get the error:

Info: (main.cpp:99) DBLParse start
Info: (web_engine_context.cpp:696) Sandboxing disabled by user.
Info: (web_engine_context.cpp:286) 

GLImplementation: desktop
Surface Type: OpenGL
Surface Profile: CompatibilityProfile
Surface Version: 4.6
Using Default SG Backend: yes
Using Software Dynamic GL: no
Using Angle: no

Init Parameters:
  *  application-name DBLParse 
  *  browser-subprocess-path C:\Qt\6.2.0\msvc2019_64\bin\QtWebEngineProcess.exe 
  *  create-default-gl-context  
  *  disable-direct-composition  
  *  disable-es3-gl-context  
  *  disable-features MojoVideoCapture,UseSkiaRenderer,DnsOverHttpsUpgrade,ConsolidatedMovementXY,InstalledApp,BackgroundFetch,WebOTP,WebPayments,WebUSB,PictureInPicture 
  *  disable-speech-api  
  *  enable-features AllowContentInitiatedDataUrlNavigations,TracingServiceInProcess 
  *  enable-threaded-compositing  
  *  gpu-preferences OAAAAAAAAADoAAAQAAAAAAAAAAAAAAAAAABgAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAABAAAACAAAAAAAAAAKAAAAAAAAAAwAAAAAAAAADgAAAAAAAAAEAAAAAAAAAAAAAAABQAAABAAAAAAAAAAAAAAAAYAAAAQAAAAAAAAAAEAAAAFAAAAEAAAAAAAAAABAAAABgAAAA== 
  *  in-process-gpu  
  *  no-sandbox  
  *  use-gl desktop 

[5876:17792:0628/231705.627:ERROR:network_service_instance_impl.cc(286)] Network service crashed, restarting service.
[5876:17792:0628/231705.627:ERROR:network_service_instance_impl.cc(286)] Network service crashed, restarting service.
[5876:17792:0628/231705.794:ERROR:network_service_instance_impl.cc(286)] Network service crashed, restarting service.

relate issue

same bug

Replace WebEngineWidget with CEF

https://bitbucket.org/chromiumembedded/cef-project/src

download builds: https://cef-builds.spotifycdn.com/index.html#windows64

SSL library support: https://wiki.openssl.org/index.php/Binaries

https://slproweb.com/products/Win32OpenSSL.html

Copy

  • "C:\Program Files\OpenSSL-Win64\bin\libcrypto-1_1-x64.dll"
  • "C:\Program Files\OpenSSL-Win64\bin\libssl-1_1-x64.dll"

into the same dir of exe.

Check with these code:

qDebug() << "SSL Suports: " << QSslSocket::supportsSsl();
qDebug() << "SSL Build: " << QSslSocket::sslLibraryBuildVersionString();
qDebug() << "SSL Library: " << QSslSocket::sslLibraryVersionString();

Should output:

Debug: (main.cpp:99) SSL Suports:  true
Debug: (main.cpp:100) SSL Build:  "OpenSSL 1.1.1k  25 Mar 2021"
Debug: (main.cpp:101) SSL Library:  "OpenSSL 1.1.1k  25 Mar 2021"