在ubuntu22.10上安装llvm& clang后交叉编译时提示
In file included from hello.c:1:
/usr/include/stdio.h:27:10: fatal error: 'bits/libc-header-start.h' file not found
#include <bits/libc-header-start.h>^~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
原因:缺少32位的相关库
通过
sudo apt-get install gcc-multilib
进行安装,
但是提示依赖包版本不对
下载aptitude解决
sudo apt-get install aptitude
但也没有正确解决
似乎是因为ubuntu22.10这个系统就不太行,不支持这种
没办法,只能升级系统
sudo do-release-upgrade
升级到23.04后完美解决,把两个都安装上
sudo apt install gcc-multilib g++-multilib
交叉编译试一下
clang --target=arm-none-linux-gnueabihf hello.c -o hello
这样编译出来的可执行文件就可以在ARM下运行了