日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車測(cè)試網(wǎng)

  • 公眾號(hào)
    • 汽車測(cè)試網(wǎng)

    • 在線課堂

    • 電車測(cè)試

Visual Studio Code編譯Apollo項(xiàng)目

2019-01-09 16:05:10·  來(lái)源:澤爾測(cè)試  
 
Apollo是百度公司發(fā)布的一個(gè)開(kāi)放,完整,安全的面向汽車行業(yè)和自動(dòng)駕駛領(lǐng)域的開(kāi)源軟件平臺(tái)。借助于該系統(tǒng),并結(jié)合他們提供的車輛和硬件系統(tǒng),可以快速搭建一套屬于自己的完整的自動(dòng)駕駛系統(tǒng)。目前,我們正借助與該軟件平臺(tái)實(shí)現(xiàn)指定道路的循跡駕駛功能。
一.概述

Apollo是百度公司發(fā)布的一個(gè)開(kāi)放,完整,安全的面向汽車行業(yè)和自動(dòng)駕駛領(lǐng)域的開(kāi)源軟件平臺(tái)。借助于該系統(tǒng),并結(jié)合他們提供的車輛和硬件系統(tǒng),可以快速搭建一套屬于自己的完整的自動(dòng)駕駛系統(tǒng)。目前,我們正借助與該軟件平臺(tái)實(shí)現(xiàn)指定道路的循跡駕駛功能。

但是由于其基于Ubuntu系統(tǒng),使得該項(xiàng)目的編譯與調(diào)試變得比較繁瑣。于是,我們尋求一種基于Ubuntu系統(tǒng)的IDE(集成開(kāi)發(fā)環(huán)境),能夠方便的編輯,構(gòu)建Apollo項(xiàng)目。Visual Studio Code(VSCode)是微軟公司開(kāi)發(fā)的支持Ubuntu的輕量級(jí)代碼編輯器,它并不是嚴(yán)格意義上的IDE,更像是一個(gè)代碼編輯器。但它能夠在Linux系統(tǒng)上編輯,構(gòu)建Apollo項(xiàng)目,使用起來(lái)簡(jiǎn)單方便,所以,我們選擇使用VSCode來(lái)編輯,構(gòu)建Apollo項(xiàng)目。

二.安裝Visual Studio Code

1. 下載deb安裝包
https://code.visualstudio.com/Download
2. 安裝Visual Studio Code
打開(kāi)Ubuntu終端,輸入命令
$ sudo dpkg -i code_1.19.2-1515599945_amd64.deb.
3. 運(yùn)行
在終端輸入命令 $ code ,即可打開(kāi)VSCode Studio Code,啟動(dòng)后導(dǎo)入Apollo項(xiàng)目代碼。

三.編譯,構(gòu)建Apollo項(xiàng)目
1.導(dǎo)入Apollo項(xiàng)目
打開(kāi)VSCode,點(diǎn)擊Open folder,選擇Apollo項(xiàng)目文件,點(diǎn)擊OK。如下圖所示,這樣,Apollo項(xiàng)目就成功加載進(jìn)來(lái)了。



2.配置編譯任務(wù)文件“tasks.json”
打開(kāi)VSCode,點(diǎn)擊菜單欄Tasks->Configure Tasks,選擇“使用模板創(chuàng)建tasks->Others”,運(yùn)行任意外部命令的實(shí)例。此時(shí)會(huì)在“.vscode“文件夾下生成任務(wù)文件“tasks.json”,將該文件修改為如下內(nèi)容:



3.配置環(huán)境文件“c_cpp_properties.json”
使用快捷方式“Ctrl+shift+P”,打開(kāi)屬性配置對(duì)話框,選擇“C/Cpp:Edit Configurations”,此時(shí),會(huì)在此時(shí)會(huì)在“.vscode“文件夾下生成任務(wù)文件“c_cpp_properties.json”,該文件可用來(lái)配置項(xiàng)目中的頭文件搜索路徑,在“includePath”一項(xiàng)添加自己的頭文件路徑,其格式如下圖所示。



4.添加“launch.json”文件
在“.vscode”文件夾下添加文件,命名為“launch.json”,并完善其內(nèi)容(可省略)。
配置文件添加完畢,將上述配置內(nèi)容保存,按住快捷鍵“Ctrl+shift+B”編譯工程,編譯時(shí)會(huì)啟動(dòng)Docker,此時(shí),需要在底部終端輸入超級(jí)用戶密碼。命令執(zhí)行完畢,若在底部終端窗口出現(xiàn)如下信息,則表示編譯成功。



四.問(wèn)題及解決方案
1.編譯時(shí)長(zhǎng)時(shí)間停留在“Building: no action running”界面
這是由于當(dāng)前系統(tǒng)中存在多個(gè)不同版本的Docker或者是bazel內(nèi)部緩存不一致造成的。解決方法:按住快捷鍵“Ctrl+C”終止當(dāng)前構(gòu)建過(guò)程,在VSCode的命令終端窗口,使用下述任意一中,停止當(dāng)前運(yùn)行的Docker
方式1:停止當(dāng)前所有Apollo項(xiàng)目的Docker
$ dockerstop ${docker ps -a | grep apollo | wak ‘{print $1}’}
方式2:停止當(dāng)前所有的Docker
$ dockerstop ${docker ps -aq}
2.編譯時(shí)遇到 “ERROR:query interrupted” 錯(cuò)誤
這是由于bazel內(nèi)部緩存不一致造成的,解決方法:
按任意鍵退出編譯過(guò)程,在VSCode的命令終端窗口執(zhí)行如下命令進(jìn)入Docker環(huán)境
$ bashdocker/scripts/dev_into.sh
在Docker環(huán)境中輸入如下命令,執(zhí)行bazel的清理緩存任務(wù)(此過(guò)程需要保持網(wǎng)絡(luò)通暢,以便成功下載依賴包)
$ bazelquery
最后,輸入exit命令退出Docker環(huán)境,按快捷鍵“Ctrl+Shift+B”,重新執(zhí)行構(gòu)建任務(wù)。

分享到:
 
反對(duì) 0 舉報(bào) 0 收藏 0 評(píng)論 0
滬ICP備11026917號(hào)-25