gpt4 book ai didi

build - 适用于Windows XP的QtWebEngine目标

转载 作者:行者123 更新时间:2023-12-01 09:54:16 25 4
gpt4 key购买 nike

我试图构建Qt5.5以便能够在Windows XP上运行QtWebEngine。
这是我用于设置环境的bat文件:

REM Set up \Microsoft Visual Studio 2013, where <arch> is \c amd64, \c x86, etc.
CALL "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86
SET _ROOT=%CD%
SET PATH=%_ROOT%\qtbase\bin;C:\Perl\bin;%_ROOT%\gnuwin32\bin;C:\devtools\Bitnami\rubystack-2.0.0-26\ruby\bin;C:\Python27;%PATH%
REM Uncomment the below line when using a git checkout of the source repository
REM SET PATH=%_ROOT%\qtrepotools\bin;%PATH%
SET QMAKESPEC=win32-msvc2013
SET _ROOT=

bat文件来配置构建
configure -debug-and-release -nomake examples -opensource -nomake tests -target xp -prefix c:\qt5\5.5\msvc2013-winxp

构建成功,但是我无法使用QtWebEngine enter image description here运行任何示例

是否可以为WinXP目标构建QtWebEngine或与WinXP不兼容?

最佳答案

用于Windows XP的Qt WebEngine 5.5.0兼容性构建步骤

正式发布的问题

Qt 5.5.0正式版qwebengine模块与Windows XP应用程序不兼容,即使您使用XP兼容性编译/链接设置/标志(QT DLL可能仍不兼容)强制项目二进制文件,也可以在XP下执行exe二进制文件,您仍然不能使用qwebengine模块-仅仅是因为QtWebEnbineProcess.exe被构建为Windows XP的无效EXE。

为了使Qt WebEngine 5.5.0可以在winXP上运行,您必须使用其他选项方式重新构建Qt模块(因为官方Qt版本根本不兼容,您必须构建一个新版本)。在Windows下,只能在Visual Studio 2013中构建QtWebEngine,无法在其他版本的Visual Studio中构建铬代码。通常,Windows下的Qt和铬可以使用OpenGL或/和ANGLE项目(使用Direc3D9Ex或Direct3D11)对硬件图形操作的支持来构建,如果您选择的是WinXP,则必须使用OpenGL(这是最糟糕的选择, (如果需要的话),因为Direct3D9Ex / Direct3D11仅可从Vista +安装。因此,请确保已为将在其上运行程序的计算机安装了更新的图形驱动程序,因为用于OpenGL的卡的现有XP驱动程序将非常过时,并且可能无法正常使用。

问题生成

发生任何问题只是因为默认的Visual C++ 2013应用程序编译与XP(C运行时和EXE子系统)不兼容,但是您仍然可以在Visual C++ 2013中更改和使用与WinXP兼容的运行时,在此处进行了描述:

http://blogs.msdn.com/b/vcblog/archive/2012/10/08/windows-xp-targeting-with-c-in-visual-studio-2012.aspx

因此,从根本上讲,您必须添加Windows SDK7.1A路径以包含库和二进制文件,对于Qt和chromium的每次cl编译器执行,传递/ D_USING_V120_SDK71_,并在构建链接器时传递/SUBSYSTEM:WINDOWS,5.01或/SUBSYSTEM:CONSOLE,5.01项目和QtWebEngineProcess.exe,不是吗?

构建要求:

  • Visual C++ 2013(在我的情况下安装在stardard位置:C:\ Program Files(x86)\ Microsoft Visual Studio 12.0)
  • Windows SDK 7.1A-最后一个与Windows XP兼容的SDK / D_USING_V120_SDK71_强制使用它(在我的情况下,安装在标准位置:C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.1A)
  • 用于构建铬的第3方工具:Git,Perl,Python,pscp.exe-必须在构建之前将其二进制文件添加到PATH env变量中。
  • 我从AMD下载了
  • OpenGL ES SDK以使用OpenGL ES 2.0实现(在我的情况下已下载到D:\ rzaba \ qt \ GLES_SDK)。
  • Qt 5.5.0来源-解压缩到D:\ rzaba \ qt \ src-5.5.0

  • (我无法粘贴更多链接,因为我没有2点声誉,OMG!:D)

    生成过程

    首先阅读以下内容: http://doc.qt.io/qt-5/windows-building.html,我们必须像在这里那样做,但是与XP兼容的构建只需要很少的步骤。

    现在,如果解压缩了源代码并安装了所有内容,则创建qt5vars.cmd,在我的情况下,它看起来像这样:
    ************************************************************************
    REM ********** INITIALIZE ENV FOR MSVC 2013 CL COMPILER **********
    SET PATH=C:\Windows;C:\Windows\system32
    CALL "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86
    REM ********** UPDATE INCLUDE & LIB TO SUPPORT XP WIN SDK 7.1A **********
    SET PATH=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin;%PATH%
    SET INCLUDE=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include;%INCLUDE%
    SET LIB=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib;%LIB%
    SET CL=/D_USING_V120_SDK71_;%CL%
    REM ********** INCLUDE OPENGL DESKTOP GLES SDK **********
    SET PATH=D:\rzaba\qt\GLES_SDK\x86;%PATH%
    SET INCLUDE=D:\rzaba\qt\GLES_SDK\include;%INCLUDE%
    SET LIB=D:\rzaba\qt\GLES_SDK\x86;%LIB%
    REM ********** 3D PARTY BUILD TOOLS BINARIES: PUTTY, RUBY, PERL, GIT, PYTHON **********
    SET PATH=D:\putty;D:\Ruby22\bin;D:\Perl\bin;D:\Git;D:\Git\bin;D:\Git\cmd;D:\Python27;%PATH%
    REM ********** SETUP QT QMAKE ENV **********
    SET QMAKESPEC=win32-msvc2013
    SET PATH=D:\rzaba\qt\src-5.5.0\qtbase\bin;D:\rzaba\qt\src-5.5.0\gnuwin32\bin;%PATH%
    ************************************************************************

    通常,脚本会配置PATH,INCLUDE,LIB env变量以进行构建。在CL env变量中可以强制进行CL编译器设置,这是定义V120_XP平台用法的主要位置。

    现在,在开始构建之前,必须从源代码编辑一些文件:
  • 您必须编辑文件:qtwebengine \ src \ 3rdparty \ ninja \ configure.py
    找到以下行:“if platform.is_msvc():”,然后有cl编译器标志,则必须删除“/ WX”标志,因为它将无法对sdk7.1进行编译。您还可以在其中添加“/ D_USING_V120_SDK71_”标志,以确保忍者工具也将定义为使用V120_xp。
  • ,您必须编辑另一个文件:qtwebengine \ src \ process \ process.pro并在其中添加以下行:

  • win32:{

    QMAKE_CXXFLAGS + = / D_USING_V120_SDK71

    QMAKE_LFLAGS_CONSOLE + = /SUBSYSTEM:CONSOLE,5.1

    QMAKE_LFLAGS_WINDOWS + = /SUBSYSTEM:WINDOWS,5.1

    }

    您还应该将其添加到您的项目中。这将生成与XP兼容的QtWebEngineProcess.exe文件。没有此Visual C++ 2013会为WinXP生成无效的EXE文件。

    如果您打开命令行并立即调用此脚本,则必须cd到qt源目录并调用configure,这是我的配置:

    configure -prefix d:[您的安装路径] -confirm-license -target xp -opensource -opengl桌面-debug-release-nomake示例-nomake测试-no-warnings-are-errors

    所以我想构建调试和发布。如果正确设置所有内容,则应该会看到一些编译过程并为qt模块创建Makefile。
    调用nmake之后,编译需要花费几个小时,nmake安装后将创建的库复制/安装到前缀。
    祝好运

    请记住,图形设备必须支持OpenGL ES 2.0,否则在创建QWebView之后,您的应用将因OpenGL驱动程序而崩溃,或者窗口GUI变黑。如果要在旧计算机上运行应用程序,则可以构建Mesa OpenGL软件渲染器(我做到了,并且性能非常慢,每个刷新窗口GUI内容都需要几秒钟,但它可以工作),并使用它代替硬件驱动程序。

    关于build - 适用于Windows XP的QtWebEngine目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31678657/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com