问题标签 [gn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gn - 如何在 gn 中添加“-whole-archive”
我使用 gn 作为我的构建系统,我想用“-whole-archive”来定位另一个目标,但我发现似乎没有办法做到这一点?
我需要的是这样的:
- --start-group 和 --end-group 中的 libA.a 和 libB.a
- libC.a 在 -whole-archive 和 -no-whole-archive
谢谢
android - 如何将 android 的新依赖项添加到 chromium?
我想为 android 构建 Chromium,我想向Amplitude
Chromium 添加新的依赖项。所以我将third_party/android_deps/build.gradle文件更改为:
从third_party/android_deps/README.md之后,我运行了这个命令来获取依赖项。
运行命令后,此目录已添加到third_party
目录中。
并将这些行添加到third_party/android_deps/BUILD.gn:
这些行也被添加到third_party/android_deps/additional_readme_paths.json
但我无法导入com.amplitude.api.Amplitude
。我将此行添加到chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java:
我收到了这个错误:
我该如何解决这个错误?
c++ - 对于那些与skia合作的人,我将如何建立一个skia程序?
我最近在我的 Windows 10 机器上完成了skia 库的构建,但老实说,我对如何在任何程序中使用这个库感到非常困惑。因为除了在示例中编译 HelloWorld 程序之外,文档几乎没有提供关于将库与实际程序一起使用的指导。我非常迷失在这里,甚至不知道我可以从哪里开始
我是 C++ 新手,我以前从未真正使用过库。关于如何使用该库编译一个简单的 c++ 程序的非常清晰的指南将非常有帮助。
c++ - 在 ubuntu 18.04 上编译 chromium,ninja 子命令失败
我试图写一个 ctf 主题 - GoogleCTF2018_Just-In-Time(browser pwn)。我尝试在linux平台上编译chromium,但出现错误。根据 build.sh 文件,我在终端上使用了以下命令。GoogleCTF2018_Just-In-Time 主题: https ://github.com/google/google-ctf/tree/master/2018/finals/pwn-just-in-time
进出/默认
然后,错误发生了……</p>
错误 :
我已经安装了 ninja & depot_tools。并添加了 ./bashrc 的路径。我认为以下错误是关键原因,但我找不到有用的解决方案......
chromium - 如何最小化 Chromium 构建文件?
当我按照以下过程在 Windows 环境中执行 Chromium 的发布构建时,文件大小为 48GB。
https://chromium.googlesource.com/chromium/src/+/main/docs/windows_build_instructions.md
但是,使用 Chrome 安装程序安装的文件大约为 700MB。是否有构建选项来输出浏览所需的最少文件?
当前使用的构建选项是:
webrtc - 由于“GLIBC_2.18”未找到错误,无法在 RHEL 7.4 上构建 WebRTC 代码
我正在尝试按照以下链接中提到的说明在 RHEL 7.4 服务器上构建 WebRTC 代码:
https://webrtc.github.io/webrtc-org/native-code/development/
但观察以下错误。
$ gn gen out/Debug ../src/buildtools/linux64/gn: /lib64/libc.so.6: 找不到版本“GLIBC_2.18”(../src/buildtools/linux64/gn 需要)
看起来 '/src/buildtools/linux64/gn' 期待 'GLIBC_2.18' 版本,但 RHEL 7/CentOS 7 可以支持到 glibc 2.17。
我现在不想升级到 RHEL 8/CentOS 8 版本。
我试图在 RHEL 7 上构建 gn 源代码,但得到了不同的错误。
这个问题的解决方案是什么?
objective-c - 为什么当我单击我的应用程序上的任何 NSMenuItem 时它会崩溃并告诉我“EXC_BAD_ACCESS”?
我使用 GN 构建了一个应用程序并在 Xcode 上运行它。但是当我单击菜单上的任何项目时,它总是在 main.m 崩溃
我只能得到这样的东西
gn - 在 v8 版本上,如何设置 gn 默认编辑器工具?默认是记事本
我在 Windows 上构建 v8,当我运行时gn args x64.release/
,记事本打开,但保存文本有一个 bom 标题,gn 读取 args.gn 文件的开头然后导致错误。我尝试阅读 gn helper,但没有找到方法。
visual-studio - 无法使用构建的 all.sln 文件开始调试 chromium
我尝试使用以下命令编译 Chromium:
我得到一个包含项目(all.sln)和二进制文件的文件夹。当我打开一个解决方案项目(在 VS 2022 中)并尝试开始调试(Windows 本地调试器)时,Visual Studio 不只是运行已编译的二进制文件,而是调用 ninja 并尝试启动名为“common_deps_clang_newlib_x64”的程序(???)并且找不到它们。如果我在没有调试的情况下开始(CTRL + F5),我有同样的错误。如果我将“common_deps_clang_newlib_x64”更改为例如。“executable_deps_clang_newlib_x64”我有同样的错误。如何正确设置这个项目?
截图https://i.imgur.com/9hzyBqz.png
当然,我可以使用标准调试,但这里是关于它的内容:
在没有 Intellisense 的情况下使用 Visual Studio
也可以在 Visual Studio 中调试和开发 Chrome,而无需多项目解决方案文件的开销。只需使用 File->Open->Project/Solution 或从 Visual Studio 命令提示符“打开”您的 chrome.exe 二进制文件,如下所示:devenv /debugexe out\Debug\chrome.exe。Visual Studio 的许多代码探索功能在此配置中不起作用,但通过安装 VsChromium Visual Studio 扩展,您可以获得源代码以及其他有用的功能(例如代码搜索)出现在解决方案资源管理器窗口中。您可以使用 File->Add->Existing Project... 将多个感兴趣的可执行文件(base_unittests.exe、browser_tests.exe)添加到您的解决方案中...并通过在解决方案资源管理器中右键单击它们并选择 Set 来更改将要调试的可执行文件作为启动项目。
而且 VsChromium 不适用于 VS 2022
c++ - MacOS 中的 Chromium 品牌
我一直在尝试改变 MacOS 中 Chromium 的品牌。我试过编辑这些文件:
src/chrome/app/theme/chromium/BRANDING
chrome/app/general_resources.grd
chrome/app/settings_strings.grdp
chrome/app/chromium_strings.grd
chtome/common/chrome_paths_mac.mm
chtome/common/chrome_constants.cc
在尝试了对上述文件进行更改的所有排列和组合之后,每当我尝试从源代码构建时,所创建的目录都会被命名@PRODUCT_FULLNAME@
(例如:@PRODUCT_FULLNAME@ Framework.framework
、、@PRODUCT_FULLNAME@ Helper
等)。
我尝试启动该文件
out/MyBuild/@PRODUCT_FULLNAME@.app/Contents/MacOS/@PRODUCT_FULLNAME@
,但它崩溃并引发错误。经过一番研究,我知道全名是在文件中设置的build/util/branding.gni
。我尝试直接从该文件更改全名并且它有效,目录的标题是我给出的名称而不是@PRODUCT_FULLNAME@
. 然而,当我尝试启动浏览器时,它又崩溃了。
请告诉我我在这里做错了什么,我尝试参考以下问题:
- 更改 Chromium 品牌 (MacOS)
- “icudtl.dat not found in bundle”在 Mac 上启动自定义品牌 Chromium 构建时?(我尝试在此链接中提到的文件中进行更改,但最终仍为
@PRODUCT_FULLNAME@
) - Chromium-mini_installer 忽略品牌。