Visual Studio Code编译Apollo项目

2019-01-09 16:05:10·  来源:泽尔测试  
 
Apollo是百度公司发布的一个开放,完整,安全的面向汽车行业和自动驾驶领域的开源软件平台。借助于该系统,并结合他们提供的车辆和硬件系统,可以快速搭建一套属于自己的完整的自动驾驶系统。目前,我们正借助与该软件平台实现指定道路的循迹驾驶功能。
一.概述

Apollo是百度公司发布的一个开放,完整,安全的面向汽车行业和自动驾驶领域的开源软件平台。借助于该系统,并结合他们提供的车辆和硬件系统,可以快速搭建一套属于自己的完整的自动驾驶系统。目前,我们正借助与该软件平台实现指定道路的循迹驾驶功能。

但是由于其基于Ubuntu系统,使得该项目的编译与调试变得比较繁琐。于是,我们寻求一种基于Ubuntu系统的IDE(集成开发环境),能够方便的编辑,构建Apollo项目。Visual Studio Code(VSCode)是微软公司开发的支持Ubuntu的轻量级代码编辑器,它并不是严格意义上的IDE,更像是一个代码编辑器。但它能够在Linux系统上编辑,构建Apollo项目,使用起来简单方便,所以,我们选择使用VSCode来编辑,构建Apollo项目。

二.安装Visual Studio Code

1. 下载deb安装包
https://code.visualstudio.com/Download
2. 安装Visual Studio Code
打开Ubuntu终端,输入命令
$ sudo dpkg -i code_1.19.2-1515599945_amd64.deb.
3. 运行
在终端输入命令 $ code ,即可打开VSCode Studio Code,启动后导入Apollo项目代码。

三.编译,构建Apollo项目
1.导入Apollo项目
打开VSCode,点击Open folder,选择Apollo项目文件,点击OK。如下图所示,这样,Apollo项目就成功加载进来了。



2.配置编译任务文件“tasks.json”
打开VSCode,点击菜单栏Tasks->Configure Tasks,选择“使用模板创建tasks->Others”,运行任意外部命令的实例。此时会在“.vscode“文件夹下生成任务文件“tasks.json”,将该文件修改为如下内容:



3.配置环境文件“c_cpp_properties.json”
使用快捷方式“Ctrl+shift+P”,打开属性配置对话框,选择“C/Cpp:Edit Configurations”,此时,会在此时会在“.vscode“文件夹下生成任务文件“c_cpp_properties.json”,该文件可用来配置项目中的头文件搜索路径,在“includePath”一项添加自己的头文件路径,其格式如下图所示。



4.添加“launch.json”文件
在“.vscode”文件夹下添加文件,命名为“launch.json”,并完善其内容(可省略)。
配置文件添加完毕,将上述配置内容保存,按住快捷键“Ctrl+shift+B”编译工程,编译时会启动Docker,此时,需要在底部终端输入超级用户密码。命令执行完毕,若在底部终端窗口出现如下信息,则表示编译成功。



四.问题及解决方案
1.编译时长时间停留在“Building: no action running”界面
这是由于当前系统中存在多个不同版本的Docker或者是bazel内部缓存不一致造成的。解决方法:按住快捷键“Ctrl+C”终止当前构建过程,在VSCode的命令终端窗口,使用下述任意一中,停止当前运行的Docker
方式1:停止当前所有Apollo项目的Docker
$ dockerstop ${docker ps -a | grep apollo | wak ‘{print $1}’}
方式2:停止当前所有的Docker
$ dockerstop ${docker ps -aq}
2.编译时遇到 “ERROR:query interrupted” 错误
这是由于bazel内部缓存不一致造成的,解决方法:
按任意键退出编译过程,在VSCode的命令终端窗口执行如下命令进入Docker环境
$ bashdocker/scripts/dev_into.sh
在Docker环境中输入如下命令,执行bazel的清理缓存任务(此过程需要保持网络通畅,以便成功下载依赖包)
$ bazelquery
最后,输入exit命令退出Docker环境,按快捷键“Ctrl+Shift+B”,重新执行构建任务。

分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026917号-25