如何从铬源构建无头示例浏览器
How build headless example browser from chromium source?
我正在尝试构建无头示例作为C++
铬库https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md#usage-as-a-c_library
G:chromiumsrcheadless>gn gen --args=is_debug=true --root=../ ../out/test
Done. Made 10741 targets from 1804 files in 21901ms
G:chromiumsrcheadless>ninja -C ../out/test headless_example
ninja: Entering directory `../out/test'
[24577/24577] LINK headless_example.exe headless_example.exe.pdb
G:chromiumsrcheadless>
Aftre build,我正在尝试启动headless_example.exe但出现错误
G:chromiumsrcouttest>headless_example.exe
[0121/145957.684:FATAL:command_line.cc(234)] Check failed: current_process_comma
ndline_.
Backtrace:
base::debug::StackTrace::StackTrace [0x000007FEDF41AF29+105] (G:chromiu
msrcbasedebugstack_trace_win.cc:281)
base::debug::StackTrace::StackTrace [0x000007FEDF419EC5+37] (G:chromium
srcbasedebugstack_trace.cc:203)
logging::LogMessage::~LogMessage [0x000007FEDF46BA86+134] (G:chromiums
rcbaselogging.cc:591)
base::CommandLine::ForCurrentProcess [0x000007FEDF3CE65B+155] (G:chromi
umsrcbasecommand_line.cc:235)
headless::HeadlessBrowserMain [0x000007FED0F3DEDC+332] (G:chromiumsrc
headlesslibbrowserheadless_browser_impl.cc:284)
main [0x000000013FA225F1+257] (G:chromiumsrcheadlessappheadless_exa
mple.cc:195)
invoke_main [0x00000001402F0804+52] (f:ddvctoolscrtvcstartupsrcsta
rtupexe_common.inl:79)
__scrt_common_main_seh [0x00000001402F093E+302] (f:ddvctoolscrtvcsta
rtupsrcstartupexe_common.inl:288)
__scrt_common_main [0x00000001402F09BE+14] (f:ddvctoolscrtvcstartup
srcstartupexe_common.inl:331)
mainCRTStartup [0x00000001402F09D9+9] (f:ddvctoolscrtvcstartupsrcs
tartupexe_main.cpp:17)
BaseThreadInitThunk [0x0000000077BB59CD+13]
RtlUserThreadStart [0x0000000077D1385D+29]
如何构建和运行headless_example?
更新
我的步骤
- gn gen --ide=vs2017 --filters="//headless" out\Headless
- 忍者 -C 出\无头headless_example
建造6小时后
- 光盘输出/无头
- ./headless_example.exe
我得到同样的错误。
但我成功地构建并运行了chromedriver
My Debug/args.gn
./out/Debug/args.gn
# GN args template for the Headless Chrome library
#
# Add import to arg.gn in out directory and run gn gen on the directory to use.
# E.g. for out directory out/foo:
# echo 'import("//build/args/headless.gn")' > out/foo/args.gn
# gn gen out/foo
#
# Use gn args to add your own build preference args.
use_ozone = true
ozone_auto_platforms = false
ozone_platform = "headless"
ozone_platform_headless = true
# Embed resource.pak into binary to simplify deployment.
headless_use_embedded_resources = true
# Expose headless bindings for freetype library bundled with Chromium.
headless_fontconfig_utils = true
# Remove a dependency on a system fontconfig library.
use_bundled_fontconfig = true
# In order to simplify deployment we build ICU data file
# into binary.
icu_use_data_file = false
# Use embedded data instead external files for headless in order
# to simplify deployment.
v8_use_external_startup_data = false
enable_nacl = false
enable_print_preview = false
enable_remoting = false
use_alsa = false
use_cups = false
use_dbus = false
use_gio = false
use_kerberos = false
use_libpci = false
use_pulseaudio = false
use_udev = false
rtc_use_pipewire = false
>gn gen --args=is_debug=true --root=../ ../out/test
您输入的上述gn gen
命令不正确。请改为尝试以下命令:
>cp ../build/args/headless.gn out/Debug/args.gn
>gn gen --root=../ ../out/test
>ninja -C ../out/test headless_example
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 无法在 CLion 中构建 C++ 项目
- 函数向量_指针有不同的原型,我可以构建一个吗
- 如何使用ndk-build.cmd构建Android.so文件
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- VSCode-有一个红色下划线,但程序构建和运行正确,并且出现配音错误
- 构建可组合有向图(扫描仪生成器的汤普森构造算法)
- 无法使用Qt Creator在Windows中构建yaml-cpp
- 构建一个由C和C++文件组成的库
- llvm构建器向基本块添加终止符
- FLTK 2.0构建和演示,适用于VS2019的2011年左右的代码库
- 如何将不同的可执行文件合并到一个窗口框架中进行编码?像浏览器一样
- 如何跨平台将二进制资源构建到程序中?
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 如何解决 Ninja c++ 构建和执行问题
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- 如何从铬源构建无头示例浏览器
- 将数据发送到浏览器时,构建Websocket头
- 在C++构建器5中设置默认浏览器