使用VSCode编译、调试Apollo项目.docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用VSCode编译、调试Apollo项目

使用VSCode编译、调试Apollo项目贺志国2018年4月4日Apollo项目以其优异的系统架构、完整的模块功能、良好的开源生态及规范的代码风格,受到众多开发者的喜爱和好评。然而,该项目使用命令行编译和调试,不能使用IDE开发,既不直观,也不利于提高效率。我有点追求完美,必须想办法让Apollo项目能在IDE中编译、调试。 Visual Studio Code(以下简称VSCode)是微软第一款支持Linux的轻量级代码编辑器,其功能介于编辑器与IDE之间,但更倾向于一个编辑器。优点是运行速度快,占用内存少,使用方法与Visual Stuio类似。缺点在于,与Visual Studio、QT等IDE相比,功能还不够强大。我认为,Windows中最强大的C++ IDE为Visual Studio,Linux中最强大的C++ IDE为QT。Apollo项目目前只支持Ubuntu系统(Mac OS系统部分支持),Windows系统中的Visual Studio自然排除在外;此外,Apollo项目使用Bazel编译,而QT目前只支持QMake和CMake工程,因此只能忍痛割爱。在无法使用上述两种IDE的前提下,退而求次选用VSCode。我写了几个配置文件,允许使用VSCode编译、调试Apollo项目,下面对其进行具体阐述,希望能给放大开发者带来一定的帮助。使用VSCode编译Apollo项目首先从GitHub网站(/ApolloAuto/apollo)下载Apollo源代码,可以使用git命令下载,也可以直接通过网页下载压缩包。源代码下载完成后,将其放置到合适的目录。使用VSCode编译Apollo项目有一个前提,就是在你的机器上已经顺利安装了Docker。Apollo之前版本提供了一个“install_docker.sh”脚本文件,因为很多开发者反映可能出错,Apollo项目组已将该文件移除。现在要安装Docker就只能参考Docker官方网站(/)的帮助文档了。1.1 编译方法打开“Visual Studio Code”,执行菜单命令“文件-打开文件夹”,在弹出的对话框中,选择“Apollo”项目源文件夹,点击“确定”,如下图所示:之后,执行菜单命令“任务-运行生成任务”或直接按快捷键“Ctrl+Shift+B”(与Visual Studio和QT的快捷键一致)构建工程,若之前没有启动过Docker,则编译时会启动Docker,需在底部终端窗口输入超级用户密码,如下图所示:命令执行完毕,若在底部终端窗口出现“终端将被任务重用,按任意键关闭。”信息(如下图所示),则表示构建成功。整个过程一定要保持网络畅通,否则无法下载依赖包。1.2 配置文件解析我在“.vscode/tasks.json”文件中总共配置了四个常见的任务(我已将该配置文件上传到GitHub Apollo项目,大家直接下载使用即可):”build the apollo project”(构建Apollo项目)、”run all unit tests for the apollo project”(运行Apollo项目的所有单元测试)、”code style check for the apollo project”(Apollo项目的代码风格检查)、”clean the apollo project”(清理Apollo项目)。其中第一个任务是默认生成任务,可以直接按快捷键“Ctr+Shift+B”调用,其他任务可通过执行菜单命令:任务-运行任务(R)…,在弹出的窗口中,选择对应选项即可,如下图所示:下面是具体的配置内容,请参考里面的注释来调整编译任务以满足你的构建需求:{ version: 2.0.0, tasks: [ { label: build the apollo project, type: shell, // 可根据apollo.sh提供的选项来调整编译任务,例如:build_gpu command: bash apollo_docker.sh build, group: { kind: build, isDefault: true // default building task invoked by Ctrl+Shift+B }, // 格式化错误信息 problemMatcher: { owner: cc, fileLocatio

文档评论(0)

138****7331 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档