首页 > 编程语言 >C++构建工具_bazel

C++构建工具_bazel

时间:2024-04-03 18:11:57浏览次数:23  
标签:文件 依赖 Bazel C++ bazel 构建 工具 Apollo

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

标签:文件,依赖,Bazel,C++,bazel,构建,工具,Apollo
From: https://www.cnblogs.com/ytwang/p/18113276

相关文章

  • 用c++实现百元买百鸡问题、顺序查找
    5.1.2百元买百鸡问题【问题】已加公鸡5元一只,母鸡3元一只,小鸡1元三只,用100元钱买100只鸡, 问公鸡、母鸡、小鸡各多少只?【想法】 设公鸡、母鸡和小鸡的个数分别为x、y、z,则有如下方程组成立,则百元买百鸡问题转换为求方程组的解。应用蛮力法求力程组的解只能依次试探变量x......
  • 如何使用Docker中构建Java jar包,并且实现开启自启
    Docker中构建JavaJAR包要在Docker容器中构建Java应用程序的JAR包,你可以遵循以下步骤:创建一个Dockerfile:在你的项目根目录下创建一个名为Dockerfile的文件,用来定义Docker镜像的构建过程。#使用官方的Java11镜像作为基础镜像FROMopenjdk:11#设置工作目录WORK......
  • C++之STL的algorithm(5)之生成算法(accumulate、fill)整理
    C++之STL的algorithm(5)之生成算法(accumulate、fill)整理注:整理一些突然学到的C++知识,随时mark一下例如:忘记的关键字用法,新关键字,新数据结构C++的遍历算法整理C++之STL的algorithm(5)之生成算法(accumulate、fill)整理一、生成算法1、accumulate累加算法2、fill填充算法......
  • C++实现windows高精度微秒级延时(亲测可用)
    C++实现windows高精度微秒级延时(亲测可用)代码如下:#include<iostream>#include<windows.h>//定义一个结构体来保存性能计数器的频率和时间戳structPerformanceCounter{LARGE_INTEGERfrequency;//计数器频率LARGE_INTEGERstart;//开始时间......
  • 给c++小白的教程2:输出(1)
    想要输入代码,就必须打开新的源代码#include<bits/stdc++.h>usingnamespacestd;intmain(){ return0;}请萌新牢牢记住这段代码!!!要形成肌肉记忆!!!#include<bits/stdc++.h>是头文件,bits/stdc++.h是万能头,包括了c++里的绝大多数函数与数据结构usingnamespacestd;是命......
  • 【C++】string模拟实现
     ......
  • C++11中的正则表达式
    目录regexregex_match函数详解函数原型使用方法基本使用使用std::smatch获取更多信息注意事项regex_search函数详解函数原型使用方法基本使用使用std::smatch获取匹配信息注意事项regex_search和regex_match的区别regexC++11引入了<regex>头文件,它提供了对正则表达式的......
  • 【C/C++】VsCode调试配置tasks.json和launch.json
    前段时间配大作业环境改了很多配置,发现tasks.json和launch.json经常令自己很迷惑。网上找的配置有时会有各种各样的问题,在此记录一下上学期配好的配置文件,日后有时间再详细研究研究tasks.json:{"version":"2.0.0","tasks":[{"type":"shell",......
  • [c++] 小游戏 斗破苍穹2.7.1 版本 zty出品
    前言大家好,今天带来的是经典版本2.7.1这个版本在斗破苍穹中十分重要您好,欢迎您玩苍穹世界。为了给您更好的游戏体验,zty时不时会优化本游戏,优化后会尽快发布在网上。关于外挂方面,开启外挂的方式是设定勇者姓名时,输入“zty”(不包括双引号)。由于2.6.1版本的bug,我们在2.6.1的......
  • 【华为OD】2024年华为OD机试C卷真题集:最新的真题集题库 C/C++/Java/python/JavaScript
    【华为OD】2024年C卷真题集:最新的真题集题库C/C++/Java/python/JavaScript【华为OD】2024年C卷真题集:最新的真题集题库C/C++/Java/python/JavaScript-CSDN博客 2024年华为OD机试C卷真题题集题库,有2种分数的题目列表分别是100分的列表、200分的列表需要订阅请看链接:C卷......