Win10 WSL2 ubuntu20.04编译apollo

本文介绍如何通过配置.wslconfig文件限制WSL2内存占用,避免资源过度消耗。此外,还提供了Apollo项目的调试步骤及配置示例,包括VSCode的调试配置和解决依赖库问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决WSL2占用内存过大的问题

  1. 按下Windows R 键,输入 %UserProfile% 并运行进入用户文件夹
  2. 新建文件 .wslconfig ,然后使用记事本编辑
  3. 填入以下内容并保存, memory为wsl2分配的内存上限,可根据自身电脑配置设置
[wsl2]
memory=2GB  # Limits VM memory in WSL 2GB, also can be set to other values
swap=0
localhostForwarding=true
processors=2 # Makes the WSL 2 VM use two virtual processors, also can be set to other values

创建Apollo container

cd apollo
:bash docker/scripts/dev_start.sh

进入container

sudo bash docker/scripts/dev_into.sh

编译Apollo

进入container之后,编译Apollo,分为两种情况有GPU和无GPU:
1)有GPU

bash apollo.sh build_opt_gpu

2)无GPU

sudo bash apollo.sh build_cpu

apollo编译遇到的问题 

Apollo依赖protobuf库,而protobuf库依赖zlib库,而protobuf库安装时提供的zlib下载链接是上面这个。

解决方法是替换新的可用链接,具体就是修改Apollo项目文件夹中的.cache/bazel/540135163923dd7d5820f3ee4b306b32/external/rules_proto/proto/private文件夹里的dependencies.bzl文件,将"zlib"的部分改成以下即可。

"zlib": {
        "sha256": "629380c90a77b964d896ed37163f5c3a34f6e6d897311f1df2a7016355c45eff",
        "build_file": "@com_google_protobuf//:third_party/zlib.BUILD",
        "strip_prefix": "zlib-1.2.11",
        "urls": [
            "https://github.com/madler/zlib/archive/v1.2.11.tar.gz",
        ],
    }

VSCode调试

1. vscode下安装c++和docker相关的插件

2.  选择Containers

 3. 配置launch.json

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "/apollo/bazel-bin/cyber/mainboard",
            "args": ["-d","/apollo/modules/control/dag/control.dag"],
            "stopAtEntry": false,
            "cwd": "/apollo",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description":  "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }

    ]
}

参数解释:

"program":是可执行文件的的路径,在这个调试配置中,调用的是mainboard可执行文件,该可执行程序可以加载相关模块的dag文件,完成模块的启动和运行。

"args" :设置可执行文件的输入参数 "-d"为mainboard的参数,表明输入dag文件,

"/apollo/modules/perception/production/dag/dag_streaming_perception.dag为需要调试的dag文件,这个文件可以根据你自己的需要更改。

效果: 

### Win10 WSL2 安装 Ubuntu 20.04 教程 #### 启用 Windows Subsystem for Linux 和 Hyper-V 功能 为了能够在 Windows 上使用 WSL2,需要先启用 Windows Subsystem for Linux (WSL) 和 Hyper-V 功能。可以通过 PowerShell 执行以下命令来实现: ```powershell dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ``` 重启计算机以应用更改。 #### 设置默认版本为 WSL2 确保设置 WSL 默认版本为 2,这一步可以提高性能并提供更好的兼容性支持[^3]。 ```powershell wsl --set-default-version 2 ``` #### 下载并安装 Ubuntu 20.04 访问 Microsoft Store 或者直接通过命令行下载官方发布的 Ubuntu 20.04 LTS 应用程序。如果选择后者,则可以在 PowerShell 中执行下面这条指令: ```powershell wsl --install -d Ubuntu-20.04 ``` 此操作会自动完成必要的组件安装过程,并启动新安装好的 Ubuntu 实例。首次运行时需耐心等待一段时间让其初始化完成后按提示创建新的 UNIX 用户名和密码[^1]。 #### 验证 NVIDIA GPU 支持情况 对于希望利用显卡加速的应用场景来说,确认宿主操作系统已成功加载了相应的图形处理单元驱动非常重要。在终端里键入 `nvidia-smi` 命令查看当前系统的 Nvidia 显卡状态信息;通常情况下无需单独为 WSL2 内部的 Linux 发行版额外安装任何东西就能正常使用硬件资源[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值