clang交叉编译ardupilot的问题

Problems with clang cross-compiling ardupilot

提问人:Lqs66 提问时间:11/9/2023 更新时间:11/9/2023 访问量:15

问:

首先,我尝试了以下命令

`CC=clang CXX=clang++ CXXFLAGS="-O0 -g --target=arm-none-eabi -I/opt/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/include/c++/10.2.1 -I/opt/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/include/c++/10.2.1/arm-none-eabi -I/opt/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/include/c++/10.2.1/backward -I/opt/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/include -I/opt/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/include-fixed -I/opt/gcc-arm-none-eabi-10-2020-q4-major/bin/../lib/gcc/arm-none-eabi/10.2.1/../../../../arm-none-eabi/include"  ./waf configure --board=CUAVv5 ` 

交叉编译ardupilot给出以下错误

“叮当声:致命错误:未知参数:'-mno-thumb-interwork'”

于是,我从CUAVv5_cache.py中删除了 -mno-thumb-interwork 编译选项并继续编译,再次出现以下错误:

“/opt/gcc-arm-none-eabi-10-2020-q4-major/bin/... /lib/gcc/arm-none-eabi/10.2.1/... /... /... /... /arm-none-eabi/include/c++/10.2.1/cstdio:98:11:致命错误:无成员 在全局命名空间中使用 ::FILE;”

我进一步修改了CUAVv5_cache.py以包含“--sysroot=/opt/gcc-arm-none-eabi-10-2020-q4-major/bin/... /arm-none-eabi”以继续编译,最终出现以下错误:

“致命错误:'LSEK'的行外定义与任何定义都不匹配 “AP_Filesystem_FATFS”中的声明off_t AP_Filesystem_FATFS::lseek(int fileno, off_t position, int whence)”

显然到目前为止交叉编译失败了,谁能告诉我如何实现交叉编译ardupilot? 我想使用 llvm 静态分析 ardupilot。

C++ Clang 交叉编译

评论


答: 暂无答案