C++构建工具_bazel

apollo 工具

1.DreamView 可视化交互工具
  DreamView 是一个 web 应用程序,提供如下的功能:
	可视化显示当前自动驾驶车辆模块的输出信息。例如:规划路径、车辆定位、车架信息等。
    为使用者提供人机交互接口以监测车辆硬件状态,对模块进行开关操作,启动自动驾驶车辆等。
    提供调试工具。例如 PnC 监视器可以高效的跟踪模块输出的问题
2.aem 是一个命令行工具(全称 apollo environment manager),提供管理 Apollo 容器的能力
  apollo 环境工具:aem 来启动或进入一个 Apollo 环境容器。	
  aem 
    start  enter init
    bootstrap 这个子命令用来启动dreamview 1.0或dreamview 2.0
3.Apollo buildtool是一个命令行工具,提供编译、测试、安装或运行 Apollo 模块等功能
     只支持在 Apollo 环境容器中运行。 Apollo 环境容器已经预装了 Apollo buildtool
	
  buildtool -v	
     如 build 负责编译, install 负责安装, clean 负责清理编译缓存等。

构建工具

工作空间是一个包含项目源文件和 Bazel 构建后文件输出的目录
    文件类型:
         WORKSPACE文件是根目录下的文件,用来描述整个工作空间的配置和依赖关系;
         BUILD文件则是每个软件包或目录下的文件,用来描述构建规则和构建规则之间的依赖关系。
    
    系统功能:
         WORKSPACE文件主要负责定义整个工作空间的属性,例如依赖关系、构建工具链等;
         BUILD文件主要针对单个软件包进行配置,包括源代码、测试脚本、构建规则和输出文件等。
    
    依赖关系:
         WORKSPACE文件用来声明所有工作空间中的依赖关系,也可以声明本地和远程资源的规则;
    	  而BUILD文件则用来定义相邻软件包之间的依赖关系,例如库和二进制文件之间的依赖关系等
    
    WORKSPACE文件告诉Bazel如何去得到其他的工程源
 Bazel工程所处的位置不同,调用不同的内置rule来获得:
   local_repository:本地
   git_repository:git仓库
   http_archive:网络下载


  urls = ["file:///path/to/example_deps.tar.gz"],

  外部依赖会都下载到一个名为的软连接目录。具体的内容可以通过命令行获得:
  ls $(bazel info output_base)/external

Bazel 扩展程序是以 .bzl 结尾的文件。使用 load 语句从扩展程序导入符号。
   load("//foo/bar:file.bzl", "some_library")
      会加载 foo/bar/file.bzl 文件,并将 some_library 符号添加到环境
 
 外部依赖项中使用 deps.bzl 来声明它自己的其他外部依赖  

Rules ForeignCc

 Rules for building C/C++ projects using foreign build systems (non Bazel) inside Bazel projects	 
  https://apollo-system.bj.bcebos.com/archive		 
  https://github.com/bazelbuild/rules_foreign_cc	
  https://github.com/bazelbuild/rules_foreign_cc/archive/0.8.0.tar.gz

Docker镜像

修改:  apollo/docker/scripts/docker_bash.sh
      GEO_REGISTRY="registry.baidubce.com"	  
 工具需要运行在 Apollo Docker 环境内,且依赖于 Cyber RT 软件库
修改:  
    v1.30.0.tar.gz
    v3.12.3.tar.gz
    bazel_toolchains-3.2.0.tar.gz		

参考

 https://blog.csdn.net/csdndevpress0029/article/details/132228588
 https://bazelbuild.github.io/rules_foreign_cc/0.8.0/index.html
posted @ 2024-04-03 18:02  辰令  阅读(131)  评论(0)    收藏  举报