首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何构建树外Fuchsia程序

如何构建树外Fuchsia程序
EN

Stack Overflow用户
提问于 2020-03-28 09:02:28
回答 1查看 174关注 0票数 1

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

代码语言:javascript
复制
cd fuchsia
fx set bringup.x64 --with //examples/hello_world
fx build; fx qemu
hello_world_cpp

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-21 03:49:28

回答

third_party目录用于在Fuchsia树之外管理的模块。在顶级.gitignore中,目录被排除(link):

代码语言:javascript
复制
/third_party/*

您可以看到这个文件夹在git (link)中几乎是空的。它首先在引导程序(link)期间填充,引导程序在内部使用jiri update来获取集成清单中指定的repos (例如,用于third_party)。

您将在单独的git存储库中维护您的模块。对于开发,您可以将此存储库克隆到third-party中的一个子目录中。由于.gitignore条目,它将不会被Fuchsia git跟踪。

示例

文件:

代码语言:javascript
复制
third_party/hello_world/BUILD.gn
third_party/hello_world/hello_world.cc

BUILD.gn

代码语言:javascript
复制
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

代码语言:javascript
复制
#include <iostream>

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

构建并运行:

代码语言:javascript
复制
$ fx set bringup.x64 --with //third_party/hello_world
$ fx build
$ fx qemu
$ my_hello_world_cpp
Hello, World (out-of-tree)!
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60896095

复制
相关文章

相似问题

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