CEF V119 的 CEF ARM64 构建编译失败

问题描述 投票:0回答:1

我目前正在尝试在 Windows 11 计算机上创建 CEF 119 的 ARM64 版本。我已成功创建此存储库/CEF 版本的 x32 和 x64 二进制文件。我之前曾在同一台计算机上成功创建了 CEF 120 的 ARM64 版本(当它是最后一个正式版本时)。

这是我用于创建 ARM64 版本的 update.bat 文件

set CEF_ENABLE_ARM64=1
set GN_DEFINES=is_official_build=true proprietary_codecs=true ffmpeg_branding=Chrome chrome_pgo_phase=0
set GN_ARGUMENTS=--ide=vs2022 --sln=cef --filters=//cef/*
set CHROMIUM_SHA=55e15c8
python3 ..\automate\automate-git.py --download-dir=c:\code\chromium_git --depot-tools-dir=c:\code\depot_tools --arm64-build --checkout=%CHROMIUM_SHA% %*

CHROMIUM_SHA 是使用 Chromium 119.0.6045.159 的 6045 CEF 分支上的提交

这是错误

-------- Running "ninja -C out\Debug_GN_arm64 cefclient" in "c:\code\chromium_git\chromium\src"...
ninja: Entering directory `out\Debug_GN_arm64'
[91291/91291] LINK cefclient.exe cefclient.exe.pdb
FAILED: cefclient.exe cefclient.exe.pdb
..\..\third_party\llvm-build\Release+Asserts\bin\lld-link.exe "/OUT:./cefclient.exe" /nologo -libpath:..\..\third_party\llvm-build\Release+Asserts\lib\clang\18\lib\windows "-libpath:../../../../../../Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.39.33519/ATLMFC/lib/ARM64" "-libpath:../../../../../../Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.39.33519/lib/ARM64" "-libpath:../../../../../../Program Files (x86)/Windows Kits/10/lib/10.0.22621.0/ucrt/arm64" "-libpath:../../../../../../Program Files (x86)/Windows Kits/10/lib/10.0.22621.0/um/arm64" /MACHINE:ARM64  "/PDB:./cefclient.exe.pdb" "@./cefclient.exe.rsp"
lld-link: error: undefined symbol: __declspec(dllimport) glHint
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glGetError
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glClearColor
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glPixelStorei
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glGenTextures
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glBindTexture
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glTexParameteri
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glTexEnvf
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glDeleteTextures
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glClear
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glMatrixMode
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glLoadIdentity
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glViewport
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glPushAttrib
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glBegin
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glColor4f
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glVertex2f
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glEnd
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glPopAttrib
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: undefined symbol: __declspec(dllimport) glRotatef
>>> referenced by ../../cef/tests/cefclient/browser/osr_renderer.cc
>>>               obj/cef/cefclient/osr_renderer.obj

lld-link: error: too many errors emitted, stopping now (use /errorlimit:0 to see all errors)
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "C:\code\automate\automate-git.py", line 1357, in <module>
    run(command + build_path + target, chromium_src_dir, depot_tools_dir,
  File "C:\code\automate\automate-git.py", line 66, in run
    return subprocess.check_call(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\code\depot_tools\bootstrap-2@3_11_6_chromium_30_bin\python3\bin\Lib\subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ninja', '-C', 'out\\Debug_GN_arm64', 'cefclient']' returned non-zero exit status 1.

我不太明白这个错误是什么意思。我错过了图书馆吗?我确实在各自的文件夹中看到了错误中提到的 ARM64 库。任何帮助将不胜感激。

cefsharp chromium-embedded
1个回答
0
投票

我刚刚在为 ARM 构建 CEF 88 时遇到了同样的问题。

根据this commit,目前看来我们只能在Windows上为ARM编译CEF时构建cefsimple。

我们无法为 ARM64 构建 cefclient.exe,因为 缺少 OpenGL 库支持,因此请构建 cefsimple.exe。

© www.soinside.com 2019 - 2024. All rights reserved.