apollo9.0环境安装参考官方网站
apollo.baidu.com/community/Apollo-Homepage-Document?doc=BYFxAcGcC4HpYIbgPYBtXIHQCMEEsATAV0wGNkBbWA5UyRFdZWVBEAU0hFgoIH0adPgCY%2BADwCiAVnEAhAILiAnABZxEgOzK1Y%2BQA51M3ROUnJBsbK2WZoyUdkBhcXoAMhlwDFlARnUXZdzE9AGY%2BbFINADYpUhCEFWwCAhUNEIJSYWEfFSUpbBUpAiifHxCNTFAKVCA
注意:
- 该软件包占用磁盘空间较大,安装过程中最少需要占据将近20多个G的磁盘空间
- 如果是虚拟机安装需要磁盘扩容可参考VMware中Ubuntu拓展磁盘容量的两种方式 &图形化方式&命令行磁盘分区方式(亲测有效&简单且详细)&linux磁盘分区_ubuntu磁盘扩容-CSDN博客
- 如果是虚拟机安装是没有办法使用GPU的
- 建议使用包管理方式进行安装,另外,包管理方式也无法使用GPU
代码文件创建
进入apollo9.0容器,创建文件夹及文件,目录结构如下所示
(apollo-9.0)[pcl@in-dev-docker:/apollo_workspace]$ tree ./cyber_demo/
./cyber_demo/
|-- BUILD
|-- cyber_01
| `-- demo_main
| |-- BUILD
| `-- main.cc
`-- cyberfile.xml
代码文件编写
./cyber_demo/BUILD
load("//tools:apollo_package.bzl","apollo_package")
package(
default_visibility=["//visibility:public"]
)
apollo_package()
./cyber_demo/cyberfile.xml
<package>
<name>cyber_demo</name>
<version>1.0.0</version>
<description>
cyber_demo
</description>
<maintainer email="AD-platform">AD-platform@baidu.com</maintainer>
<type>module</type>
<src_path>//cyber_demo</src_path>
<license>BSD</license>
<author>Apollo</author>
<depend type="binary" src_path="//cyber" repo_name="cyber">cyber</depend>
<builder>bazel</builder>
</package>
./cyber_demo/cyber_01/demo_main/BUILD
load("//tools:cpplint.bzl","cpplint")
load("//tools:apollo_package.bzl","apollo_cc_binary","apollo_package")
package(default_visibility=["//visibility:public"])
apollo_cc_binary(
name="main",
srcs=["main.cc"],
deps=["//cyber"],
)
apollo_package()
cpplint()
./cyber_demo/cyber_01/demo_main/main.cc
#include "cyber/cyber.h"
int main(int argc,char* argv[]){
// apollo::cyber::Init(argv[0]);
AERROR<<"hello Apollo!";
AINFO<<"hello cyber world!";
AWARN<<"hello apollo!";
AFATAL<<"hello apollo!";
return 0;
}
编译
在/apollo_workspace目录下执行
buildtool build -p ./cyber_demo/
编译过程较为耗时,笔者中间遇到了一些问题,最终修改并编译通过
问题1:权限问题
报错显示无法创建/apollo_workspace/.cache/bazel,权限被拒绝
解决:
查看.cache文件的所属用户组及用户,发现非root用户
尝试修改.cache文件的所属用户组及所属权限,问题解决
chown root:root /apollo_workspace/.cache
问题2:/root目录下没有.apollo文件
可能是笔者安装环境的时候没注意到,出了些问题,导致一些包下载到了容器外,笔者发现.apollo文件被下载到/home/pcl目录下之后,使用docker cp命令将该目录拷贝到/root/.apollo之后,问题得到解决
运行
/opt/apollo/neo/bin/main