1

在安装和构建 Fuchsia OS 之后,我可以将示例 hello world 程序中的字符串从“Hello, World!\n”修改为“Hello, Fuchsia!\n”。然后我构建并执行生成预期字符串“Hello, Fuchsia!”的代码。使用:

cd fuchsia
fx set bringup.x64 --with //examples/hello_world
fx build; fx qemu
hello_world_cpp

这对于理解如何更改 Fuchsia “分布”的一部分是很好的。如何在紫红色树之外创建自己的程序?我假设在创建在 Fuchsia OS 上运行的程序时通常会这样做,以便可以干净地管理源代码。

4

1 回答 1

1

回答

third_party目录适用于在 Fuchsia 树之外管理的模块。在顶层.gitignore目录被排除(链接):

/third_party/*

你可以看到这个文件夹在 git ( link ) 中大部分是空的。它首先在引导(链接)期间填充,它在内部用于jiri update获取集成清单中指定的存储库(例如 for third_party)。

您将在单独的存储库中维护您的模块git。对于开发,您可以将此 repo 克隆到third-party. 因为.gitignore进入,所以不会被 Fuchsia 追踪git

例子

文件:

third_party/hello_world/BUILD.gn
third_party/hello_world/hello_world.cc

BUILD.gn

import("//build/package.gni")

group("hello_world") {
  deps = [ ":hello-world-cpp" ]
}

executable("bin") {
  output_name = "my_hello_world_cpp"
  sources = [ "hello_world.cc" ]
}

package("hello-world-cpp") {
  deps = [ ":bin" ]
  binaries = [
    {
      name = "my_hello_world_cpp"
    },
  ]
}

hello_world.cc

#include <iostream>

int main(int argc, char** argv) {
  std::cout << "Hello, World (out-of-tree)!" << std::endl;
  return 0;
}

构建并运行:

$ fx set bringup.x64 --with //third_party/hello_world
$ fx build
$ fx qemu
$ my_hello_world_cpp
Hello, World (out-of-tree)!
于 2020-04-20T19:49:27.763 回答