问题描述 使用虚拟机交叉编译程序,当使用了sudo去编译, 出现arm-linux-gnueabihf-gcc:Command not found的问题。明明已经安装并配置好环境了,发现还是提示找不到编译器。 原因分析: 特意去查了一下sudo方法,我们在sudo或者su -root的时候,使用root用户的环境变量,跳转到/root。此时之前设置的编译器路径就不存在了。 解决方法: 可以直接使用sudo -s, 进入一个持续的root环境,以root权限执行命令,和sudo -i的区别是保留了当前用户的环境变量,不跳转目录。