首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Buildroot工具链交叉编译V8

使用Buildroot工具链交叉编译V8
EN

Stack Overflow用户
提问于 2021-01-12 18:29:15
回答 1查看 434关注 0票数 0

有没有人能提供使用Buildroot工具链交叉编译V8的建议?

我需要将V8整体库嵌入到当前使用CMake的C++应用程序中。在Buildroot下,cmake包自动提供一个toolchain.cmake文件,以确保正确的编译器,使用sysroot和C++库等。

我能够使用gn args设置sysroot,并且知道有一个custom_toolchain参数可以设置为某种描述的工具链定义文件的路径?

文档似乎有点缺乏。有没有人有为基于构建根的项目编译V8或定义“自定义工具链”的经验?

EN

回答 1

Stack Overflow用户

发布于 2021-02-13 21:44:54

我能够交叉编译V8,如下所示。

tools/toolchain/BUILD.gn中,我添加了:

代码语言:javascript
复制
gcc_toolchain("arm64-buildroot") {
  toolprefix = "/path/to/buildroot/output/host/bin/aarch64-linux-"

  cc = "${toolprefix}gcc"
  cxx = "${toolprefix}g++"

  readelf = "${toolprefix}readelf"
  nm = "${toolprefix}nm"
  ar = "${toolprefix}ar"
  ld = cxx

  toolchain_args = {
    current_cpu = "arm64"
    current_os = "linux"
    is_clang = false
  }
}

运行gn gen out/arm64并使用gn args out/arm64设置构建参数

代码语言:javascript
复制
custom_toolchain = "//tools/toolchain:arm64-buildroot"
target_cpu = "arm64"
target_os = "linux"
target_sysroot = "/path/to/buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot"
is_clang = false
use_gold = false
is_component_build = false
v8_monolithic = true
v8_use_external_startup_data = false

然后构建该库:

代码语言:javascript
复制
ninja -C out/arm64 v8_monolith

有关更多信息,请参阅:https://gn.googlesource.com/gn/+/master/docs/reference.md#example-of-defining-a-toolchain

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65682118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档