apollo cmake编译调试
时间: 2023-11-12 15:04:52 浏览: 303
为了进行Apollo的CMake编译调试,您需要执行以下步骤:
1. 打开Apollo所在的文件夹,重新编译Apollo代码,生成带调试信息的可执行文件。使用以下命令:`bash apollo.sh build_dbg`。
2. 执行VSCode的菜单命令:任务->运行任务(R)...,在弹出的窗口中,选择“clean the apollo project”(清理Apollo项目)。待清理完毕后,按快捷键“Ctrl+Shift+B”,重新构建Apollo项目。
3. 如果在编译时出现类似“Another command (pid=2466) is running. Waiting for it to complete…”的错误,请尝试使用以下命令:`sudo killall -9 python`,然后重新编译。
相关问题
百度apollo使用教程
### 百度 Apollo 使用教程
#### 了解项目结构
百度 Apollo 平台具有详细的目录结构,这有助于开发者快速定位所需资源并理解各个模块的功能。通过熟悉项目的层次化设计,可以更高效地开发和调试自动驾驶应用[^2]。
#### 启动 DreamView 工具
DreamView 是 Apollo 提供的一个可视化工具,用于监控车辆状态以及查看传感器数据包。要启动此工具,在终端输入命令 `bash scripts/dreamview.sh` 即可进入图形界面操作模式[^1]。
#### 配置文件解析
配置文件对于调整系统行为至关重要。Apollo 的配置通常位于特定路径下,并采用 YAML 或 Protobuf 格式的文档来定义参数设置。学习如何修改这些文件能够满足不同场景的需求定制化解决方案。
#### 安装依赖项与编译环境搭建
为了使 Apollo 正常工作,需先准备好合适的 Linux 发行版(如 Ubuntu),接着按照官方指南逐步安装必要的库和支持组件。之后利用 Bazel 构建工具来进行源码编译,确保所有服务都能顺利运行于目标平台上[^4][^5]。
```bash
$ sudo apt-get update && sudo apt-get install -y build-essential cmake curl unzip zip pkg-config python3-pip
$ git clone https://github.com/bazelbuild/bazelisk.git ~/bazelisk
$ ln -s ~/bazelisk/bazelisk /usr/local/bin/bazel
```
ubuntu20.04 部署Apollo 7.0 去除docker
<think>好的,我现在需要帮助用户在Ubuntu 20.04上部署Apollo 7.0,但用户希望不使用Docker。我得先回顾一下已有的信息,看看有没有相关的参考资料。
首先,根据引用[4]提到的,有一个仓库由yangming开发,早期版本依赖Apollo 7.0,完全使用CMake编译,不再依赖Docker。这说明可能存在非Docker的部署方法,可能需要通过源码编译。这可能是一个关键点,用户需要的是脱离Docker的配置方法,所以需要详细查看这个仓库的信息。
接下来,用户提供的引用[5]指出,Apollo 7.0的安装文档可能没有官方指南,但可以参考Apollo 6.0的文档,并结合其他博主的步骤。这可能意味着安装步骤需要手动处理依赖项,而不是通过Docker容器自动配置。
现在,我需要整理步骤。首先,用户需要安装必要的依赖项,比如NVIDIA驱动、CUDA、ROS等,因为Docker通常会包含这些环境,但现在需要手动安装。然后,从源码编译Apollo,可能需要使用CMake,如引用[4]所述。
还需要注意Python环境的管理,可能要用虚拟环境或者调整pip源,如引用[3]提到的使用清华源加速安装。此外,系统配置如环境变量设置、用户组权限等也需要处理,比如docker用户组的问题,但用户不用Docker的话,可能这部分可以省略,但Apollo可能依赖某些库需要手动安装。
接下来,可能需要克隆Apollo 7.0的源码,并按照其文档中的非Docker编译步骤进行。如果有yangming的仓库使用CMake,用户可能需要按照该仓库的说明进行编译。但用户的问题是关于官方的Apollo 7.0,可能需要确认是否有官方支持的非Docker方式。
此外,可能需要处理依赖项的冲突,比如不同版本的库,或者需要安装特定版本的软件包。例如,Apollo可能依赖特定版本的Protobuf或Boost,需要手动安装。
最后,测试安装后的环境,确保所有模块正确编译,并且能正常运行。如果遇到问题,可能需要查看编译错误,安装缺失的依赖,或调整编译选项。
现在,需要将这些步骤系统化,分步骤指导用户操作,确保每个环节都正确,并注意可能的常见错误,如权限问题、依赖缺失、环境变量配置错误等。同时,引用相关的参考资料,如引用[4]提到的仓库,以及引用[5]中的安装经验,来支持步骤的可靠性。</think>### 分步指南:Ubuntu 20.04 无 Docker 部署 Apollo 7.0
#### 1. **系统环境准备**
- **安装基础依赖**
执行以下命令安装编译工具链和核心库:
```bash
sudo apt update && sudo apt install -y build-essential cmake git unzip
```
- **配置 Python 环境**
使用清华镜像源加速安装(引用[3]):
```bash
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy cython
```
#### 2. **源码获取与配置**
- **克隆非 Docker 版本仓库**
根据引用[4]的线索,使用支持 CMake 编译的仓库:
```bash
git clone https://github.com/yangming/Apollo-NonDocker.git
cd Apollo-NonDocker
```
- **设置环境变量**
添加 Apollo 根目录路径到 `.bashrc`(类似引用[1]的方法):
```bash
echo "export APOLLO_ROOT_DIR=$(pwd)" >> ~/.bashrc
source ~/.bashrc
```
#### 3. **依赖项手动安装**
- **安装 ROS Noetic**
Apollo 依赖 ROS 通信框架,需完整安装桌面版:
```bash
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update && sudo apt install -y ros-noetic-desktop-full
```
- **安装 NVIDIA 驱动与 CUDA**
参考引用[2]的方法安装 CUDA Toolkit(需手动选择版本):
```bash
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
sudo apt update && sudo apt install -y cuda-11.4
```
#### 4. **编译与部署**
- **CMake 编译项目**
在仓库根目录执行:
```bash
mkdir build && cd build
cmake .. -DENABLE_PERF=ON -DWITH_GPU=ON
make -j$(nproc)
```
- **配置动态链接库路径**
避免运行时库缺失问题:
```bash
echo "export LD_LIBRARY_PATH=$APOLLO_ROOT_DIR/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc
```
#### 5. **验证与调试**
- **运行测试用例**
启动 Apollo 核心模块:
```bash
./bazel-bin/modules/control/tools/control_demo
```
- **常见问题处理**
- **Protobuf 版本冲突**:手动编译 Protobuf 3.15+ 并替换系统版本
- **Eigen3 路径错误**:通过 `sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen` 创建软链接
---
###
阅读全文
相关推荐












