ardupilot_python313_gcc13_fix

ArduPilot Python 3.13 和 GCC 13 兼容性修复指南

#作者:李荣江
#时间:2025年8月3日

概述

本文档记录了在 Python 3.13.5 和 GCC 13.2.1 环境下编译 ArduPilot 时遇到的兼容性问题及其解决方案。

环境信息

  • 操作系统: Linux 6.14.0-27-generic
  • Python 版本: 3.13.5
  • GCC 版本: arm-none-eabi-gcc 13.2.1
  • 目标板: CUAV-X7

问题列表

1. WAF 构建系统 Python 3.13 兼容性问题

1.1 imp 模块已废弃

错误信息

ModuleNotFoundError: No module named 'imp'

原因
Python 3.12+ 完全移除了 imp 模块,需要使用 importlib 替代。

解决方案

文件 1: /home/lrj/ADRC/pr-adrc/原版/ardupilot/modules/waf/waflib/Context.py

修改导入部分(第9-13行):

# 原代码
import os, re, imp, sys

# 修改后
import os, re, sys
try:
    import importlib.util
except ImportError:
    import imp

修改模块创建部分(第667-670行):

# 原代码
module = imp.new_module(WSCRIPT_FILE)

# 修改后
try:
    module = importlib.util.module_from_spec(importlib.util.spec_from_loader(WSCRIPT_FILE, loader=None))
except (
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值