Windows下Eclipse编译arm-poky-linux-gnueabi报错:无法执行cc1plus
解决arm-poky-linux-gnueabi-g++编译报错:cc1plus无法执行的问题
排查与修复步骤
修复cc1plus的可执行权限
从Linux打包的SDK在Windows下常丢失可执行权限,用Git Bash或WSL执行:chmod +x /实际路径/arm-poky-linux-gnueabi/bin/cc1plus替换为你的cc1plus实际存放路径。
校验环境变量配置
手动确认以下环境变量是否正确设置:- 将SDK的
bin目录(例如/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-mingw32/usr/bin/arm-poky-linux-gnueabi)加入PATH,且优先级高于其他ARM编译器路径 - 确保
SDKTARGETSYSROOT指向SDK的sysroots/armv7at2hf-neon-poky-linux-gnueabi目录
在Eclipse的Run Configurations -> Environment中直接调整这些变量,避免路径冲突。
- 将SDK的
检查cc1plus的依赖库
用SDK自带工具检测依赖:arm-poky-linux-gnueabi-readelf -d /实际路径/cc1plus | grep NEEDED若有缺失库,确认
LD_LIBRARY_PATH已包含SDK的lib和libexec目录。验证Eclipse工具链配置
- 进入Window -> Preferences -> C/C++ -> Build -> Tool Chain Editor,确认工具链为
arm-poky-linux-gnueabi,路径指向正确SDK目录 - 检查C/C++ Build -> Settings中的编译器路径,确保
arm-poky-linux-gnueabi-g++与cc1plus处于同一目录
- 进入Window -> Preferences -> C/C++ -> Build -> Tool Chain Editor,确认工具链为
解决Windows与Linux环境兼容问题
若使用Windows原生Eclipse,部分Linux编译工具依赖WSL环境:- 尝试在WSL中启动Eclipse,将SDK放在WSL本地文件系统(避免
/mnt/c这类挂载目录) - 若坚持Windows原生,确保SDK路径无中文、空格等特殊字符,路径格式用
/而非\
- 尝试在WSL中启动Eclipse,将SDK放在WSL本地文件系统(避免
注意:如果Readme的环境变量配置是针对Linux系统的,在Windows下需调整路径格式,同时注意大小写敏感问题。
内容的提问来源于stack exchange,提问作者John Lennon Cruz
相关产品推荐
相关产品推荐

