当前位置: 首页 > news >正文

服务号微网站怎么做佛山优化网站排名收费

服务号微网站怎么做,佛山优化网站排名收费,ftp 企业网站,毕业设计网站源码运行GN(Generate Ninja) 运行gn#xff0c;你只需从命令行运行gn#xff0c;对于大型项目#xff0c;GN是与源码一起的。 对于Chromium和基于Chromium的项目#xff0c;有一个在depot_tools中的脚本#xff0c;它需要加入到你的PATH环境变量中。该脚本将在包含当前目录的…运行GN(Generate Ninja) 运行gn你只需从命令行运行gn对于大型项目GN是与源码一起的。 对于Chromium和基于Chromium的项目有一个在depot_tools中的脚本它需要加入到你的PATH环境变量中。该脚本将在包含当前目录的源码树中找到二进制文件并运行它。对于Fuchsia树内开发运行fx gn ...它将找到正确的GN二进制文件并使用给定的参数运行它。 设置一个构建 与其他一些构建系统不同在GN中你可以设置你自己的构建目录和你想要的设置。这让你可以根据需要维护不同的构建可以根据自己的需要并行维护不同的构建。 一旦你生成了一个构建目录ninja文件将被自动生成如果你在该目录下进行构建时文件已经过期ninja则会自动重新生成所以你不必重新运行gn。 建立一个构建目录 gn gen out/my_build配置构建参数 在你的构建目录上运行设置构建参数 gn args out/my_build这将弹出一个编辑器在该文件中输入build args像这样 is_component_build true is_debug false可用的变量将取决于你的构建你可以看到可用参数的列表和它们的默认值。 通过键入: gn args --list out/my_build可以看到可用的参数列表和默认值这个命令必须指定编译目录因为不同的目录有不同的参数值。 Chrome的开发者也可以阅读Chrome特有的构建配置说明以了解更多信息。 交叉编译至目标操作系统或架构 运行 gn args out/Default根据需要替换成你的构建目录然后为常见的交叉编译选项添加以下一行或多行: target_os chromeos target_os androidtarget_cpu arm target_cpu x86 target_cpu x64更多信息请参见 GN cross compiles 。 添加BUILD.gn的详细步骤 添加一个构建文件 转到examples/simple_build目录这是一个最小的GN仓库的root目录。 在该目录中有一个tutorial目录。这里已经有一个tutorial.cc文件但没有与构建挂钩。在该目录中为我们的新目标创建一个新的BUILD.gn文件用于我们的新目标: executable(tutorial) {sources [tutorial.cc] }现在我们只需要告诉编译器这个新的目标。 打开目录simple_build下的BUILD.gn文件GN从加载这个根文件然后从这里开始加载所有的依赖项所以我们只需要在这里添加对这个文件中的新目标的引用。 你可以把我们的新目标作为一个依赖关系加入到现有的目标中去但把一个可执行文件作为依赖关系并没有什么意义。通常情况下将一个可执行文件作为另一个可执行文件的依赖项是没有意义的它们不能被链接。 所以让我们做一个 tools group组。在GN中一个group只是一个依赖关系的集合没有编译或链接: group(tools) {deps [# 这将扩展到//tutorial:tutorial 这个名字这是新目标的全名# 新目标运行 gn help labels 可以获得更多信息# ‘//’双斜杠代表的是从source-root目录开始的路径也可以用绝对路径来写比如/usr/local/foo:bar//tutorial] }执行gn help labels可以看到help的详细的解释关于如何添加子目录的目标到BUILD.gn里面。 测试你的添加 从simple_build目录下的命令行: $ gn gen out$ ninja -C out tutorialninja: Entering directory out[2/2] LINK tutorial执行./out/tutorial 你应该看到 Hello from the tutorial.输出到控制台。 题外话GN鼓励静态库的目标名称不是全局唯一的。要建立一个这样的库你可以把标签和它的路径但没有前面的//给ninja ninja -C out some/path/to/target:my_target所以前面的tutorial可以是 $ ninja -C out tutorial:tutorialninja: Entering directory outninja: no work to do.声明依赖性 让我们看看在下列文件examples/simple_build/BUILD.gn中定义的目标。这里有一个静态库定义了一个函数GetStaticText() static_library(hello_static) {sources [ hello_static.cc, hello_static.h, ] }还有一个共享库定义了一个函数GetSharedText() shared_library(hello_shared) { sources [ hello_shared.cc, hello_shared.h, ] defines [ HELLO_SHARED_IMPLEMENTATION ]}这也说明了如何为一个目标设置预处理程序的定义要设置多个以上的定义或赋值请使用这种形式 defines [ HELLO_SHARED_IMPLEMENTATION, ENABLE_DOOM_MELON0,]现在我们来看看依赖这两个库的可执行文件 executable(hello) { sources [ hello.cc, ] # 以冒号开头的标签指的是当前BUILD.gn文件中的标签 deps [ :hello_shared, :hello_static, ]}这个可执行文件包括一个源文件并依赖于前面的两个库以冒号开头的标签指的是当前BUILD.gn文件中具有该名称的目标。 测试二进制文件 在simple_build目录下的命令行中: ninja -C out helloout/hello注意你不需要重新运行GN。当任何构建文件发生变化时GN会自动重新构建 ninja文件。因为ninja在开始执行时打印出[1/1] Regenerating ninja files时你就知道这个发生了。 将设置放在config中 一个库的用户经常需要用到compile flags、 defines、include directories要做到这一点把所有这些设置放到一个 config 中就可以这是一个命名的设置集合但不包括源和依赖关系。 config(my_lib_config) { defines [ ENABLE_DOOM_MELON ] 。 include_dirs [ //third_party/something ] 。} 要将一个配置的设置应用于目标请将其添加到configs列表中。 static_library(Hello_shared) { ... # 注意这里的 通常是必须的见下面的 默认配置。 configs [ :my_lib_config, ]} 一个配置可以应用于所有依赖当前配置的目标只要把它的标签放在public_configs 列表中。 static_library(Hello_shared) { ... public_configs [ :my_lib_config, ]}public_configs也适用于当前的目标所以不需要在两个地方都列出一个配置。 默认配置 构建配置将设置一些默认适用于每个target的设置。 默认情况下这些通常会被设置为默认的配置列表。你可以用print命令看到 你可以使用print命令看到这一点这对调试很有用: executable(hello) { print(configs)}运行GN将打印类似的东西: $ gn gen out[//build:compiler_defaults, //build:executable_ldconfig]目标可以修改这个列表以改变其默认值。 例如构建设置可能会通过添加no_exceptions配置来默认关闭异常但目标可以通过用不同的配置来重新启用它们: executable(hello) { ... configs - [ //build:no_exceptions ] # 删除全局默认。 configs [ //build:exceptions ] # 用一个不同的来代替.}我们上面的打印命令也可以用字符串插值来表达这是一种将数值转换成字符串的方法。它使用符号$来指代一个变量。 print(The configs for the target $target_name are $configs)执行ninja -C out hello $ ninja -C out helloninja: Entering directory out[0/1] Regenerating ninja filesThe configs for the target hello are [//build:compiler_defaults, //build:executable_ldconfig]ninja: no work to do.添加一个新的构建参数 你可以通过declare_args声明你接受哪些参数并指定默认值。 declare_args() { enable_teleporter true enable_doom_melon false}参见gn help buildargs以了解其工作原理。 参见gn help declare_args以了解声明参数的具体细节。 在一个给定的范围内多次声明一个参数是一个错误所以在确定参数的范围和命名时应该谨慎。 不知道发生了什么 你可以在verbose模式下运行GN以看到很多详细过程使用-v参数就可以 $ gn gen out -vUsing source root /home/hui/disk4t/codes/gn/examples/simple_buildGot dotfile /home/hui/disk4t/codes/gn/examples/simple_build/.gnUsing build dir //out/Loading //build/BUILDCONFIG.gnLoading //BUILD.gnRunning //BUILD.gn with toolchain //build/toolchain:gccThe configs for the target hello are [//build:compiler_defaults, //build:executable_ldconfig]Defining target //:hello(//build/toolchain:gcc)Defining target //:hello_shared(//build/toolchain:gcc)Defining target //:hello_static(//build/toolchain:gcc)Defining target //:tools(//build/toolchain:gcc)Loading //build/BUILD.gn (referenced from //build/BUILDCONFIG.gn:22)Loading //build/toolchain/BUILD.gn (referenced from //BUILD.gn:5)Loading //tutorial/BUILD.gn (referenced from //BUILD.gn:34)Running //build/BUILD.gn with toolchain //build/toolchain:gccRunning //tutorial/BUILD.gn with toolchain //build/toolchain:gccDefining config //build:compiler_defaults(//build/toolchain:gcc)Defining target //tutorial:tutorial(//build/toolchain:gcc)Defining config //build:executable_ldconfig(//build/toolchain:gcc)Running //build/toolchain/BUILD.gn with toolchain //build/toolchain:gccDefining toolchain //build/toolchain:gccComputing //:hello_shared(//build/toolchain:gcc)Computing //:hello_static(//build/toolchain:gcc)Computing //:hello(//build/toolchain:gcc)Computing //tutorial:tutorial(//build/toolchain:gcc)Computing //:tools(//build/toolchain:gcc)Done. Made 5 targets from 5 files in 5msdesc 命令 你可以运行gn desc build_dir targetname来获取有关 一个给定的目标。 gn desc out //tutorial:tutorialThe configs for the target hello are [//build:compiler_defaults, //build:executable_ldconfig]Target //tutorial:tutorialtype: executabletoolchain: //build/toolchain:gcc...获取ldflags信息 $ gn desc out //tutorial:tutorial ldflagsThe configs for the target hello are [//build:compiler_defaults, //build:executable_ldconfig]-Wl,-rpath$ORIGIN/-Wl,-rpath-link假设你想知道你的TWO_PEOPLE定义来自哪里: gn desc out/Default //foo/bar:say_hello defines --blame...lots of other stuff omitted... From //foo/bar:hello_config (Added //foo/bar/BUILD.gn:12) TWO_PEOPLE另一个特别有趣的变体: gn desc out/Default //base:base_i18n deps --tree更多信息见gn help desc。 附gn labels 关于标签 所有可以参与依赖关系的图目标、配置和工具链都由标签来识别一个常见的标签看起来像 //base/test:test_support这个例子包括一个source-root绝对路径、一个冒号和一个target这意味着要在 base/test/BUILD.gn 中寻找名为 test_support 的目标。 如果有必要你也可以指定系统的绝对路径。通常情况下这样的路径会通过构建参数来指定所以开发者可以指定组件在他们系统中的位置。 /usr/local/foo:bar (Posix)/C:/Program Files/MyLibs:bar (Windows)工具链 一个规范的标签包括正在使用的工具链的标签。通常情况下工具链标签隐含地继承自当前的执行环境但你可以覆盖它以指定跨工具链的依赖关系。 //base/test:test_support(//build/toolchain/win:msvc)这里 GN 将在文件//build/toolchain/win 中寻找名为 msvc 的工具链定义以知道如何编译这个目标。 相对标签 如果你想引用同一构建文件中的东西你可以省略路径名称只用冒号开头。这种格式被推荐用于同文件中的标签引用。 :base标签可以被指定为相对于当前目录的标签。从风格上看我们更倾向于对所有非文件本地的引用使用绝对路径除非一个构建文件需要在不同的环境下运行比如一个项目既需要独立运行又需要拉到目录层次中不同位置的其他项目中。 source/plugin:myplugin.../net:url_request隐式名称 如果一个名字没有被指定它将继承目录名称。从风格上看我们倾向于在可能的情况下省略冒号和名称。 //net - //net:net//tools/gn - //tools/gn:gn为了能让大家更好的学习鸿蒙 (OpenHarmony) 开发技术这边特意整理了《鸿蒙 (OpenHarmony)开发学习手册》共计890页希望对大家有所帮助https://qr21.cn/FV7h05 《鸿蒙 (OpenHarmony)开发学习手册》 入门必看https://qr21.cn/FV7h05 应用开发导读(ArkTS)…… HarmonyOS 概念https://qr21.cn/FV7h05 系统定义技术架构技术特性系统安全 如何快速入门https://qr21.cn/FV7h05 基本概念构建第一个ArkTS应用构建第一个JS应用…… 开发基础知识https://qr21.cn/FV7h05 应用基础知识配置文件应用数据管理应用安全管理应用隐私保护三方应用调用管控机制资源分类与访问学习ArkTS语言…… 基于ArkTS 开发https://qr21.cn/FV7h05 1.Ability开发 2.UI开发 3.公共事件与通知 4.窗口管理 5.媒体 6.安全 7.网络与链接 8.电话服务 9.数据管理 10.后台任务(Background Task)管理 11.设备管理 12.设备使用信息统计 13.DFX 14.国际化开发 15.折叠屏系列 16.……
http://www.dnsts.com.cn/news/118988.html

相关文章:

  • 伪静态网站配置wordpress图片主题破解版
  • dw做的网站怎么发布墨刀可以做网站原型图吗
  • 湖南城乡建设厅官方网站网站怎么做才吸引人
  • 响应式网站的好处申请网站建设经费
  • 金融网站素材长沙企业网站建设品牌
  • 网站建设款计入什么科目聊城商城网站建设
  • 龙华网站建设专业公司成都建设网站平台
  • 环保产品企业网站建设seo查询 工具
  • 网站各类模块内容说明vr技术对网站建设有哪些影响
  • 网站设计的趋势网页设计html成品免费
  • 安徽建站优化哪里有制作网页的软件有
  • 最好的网站建设团队百度云盘做网站空间
  • 个人现在可以做哪些网站零件加工网
  • 适合做网站背景音乐顺的品牌网站设计价位
  • 安徽通皖建设工程有限公司网站域名到期换个公司做网站
  • 怎么查看网站收录网站联盟是什么
  • 江苏网站关键词优化优化成都武侯区建设厅官方网站
  • 哪些企业会考虑做网站三明建设网站
  • 家乡网站建设拓者设计吧手机版
  • 老铁推荐个2021网站好吗大连公司地址
  • 手机网站注册十大网络公司排名
  • 网站主题模板三维家官网在线设计
  • 合肥网站建设优化学习做菠菜网站有没有被骗的
  • 比较公司网站与营销网站的不同云速网站建设
  • 中小学生做的网站环保网站建设情况报告
  • 网站建设下坡路网站模板演示怎么做
  • 网站源码整站打包江苏网页设计报价
  • wordpress审核教程东莞网站快速排名优化
  • 网站的优点和缺点数据分析师岗位要求
  • 刘强东当年做网站读的什么书济南做网站的中企