使用x86_64-w64-mingw32-gcc编译时遇cc1 execvp执行错误求助
解决Kali Linux中x86_64-w64-mingw32-gcc编译时"cannot execute cc1 execvp"错误
问题原因
该错误核心是交叉编译工具链x86_64-w64-mingw32-gcc无法找到或执行C/C++编译器前端程序cc1,结合你的场景,具体原因可能包括:
- 仅安装了mingw-w64的C语言组件,缺少C++编译所需配套组件(此前成功编译的Hello World若为C语言文件,不会触发该问题);
- mingw-w64组件安装不完整或损坏,导致
cc1程序缺失; cc1程序权限不足,或其所在路径未被系统环境变量识别。
解决办法
安装完整的mingw-w64 C++交叉编译组件
执行以下命令安装针对x86_64架构的mingw-w64 C++工具链:sudo apt update && sudo apt install gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64注:
build-essential仅针对本地原生gcc环境,对交叉编译的mingw套件无效,因此重装它无法解决问题。检查并修复cc1的存在与权限
- 查找mingw套件下的cc1路径:
find /usr -name cc1 -path "*mingw*" - 若找到路径,检查其执行权限,无权限则添加:
sudo chmod +x /path/to/your/mingw/cc1 - 验证工具链可用性:
x86_64-w64-mingw32-g++ --version
- 查找mingw套件下的cc1路径:
重装mingw-w64套件(若组件损坏)
先卸载现有组件并清理残留:sudo apt purge gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 sudo apt autoremove && sudo apt clean再重新安装完整套件:
sudo apt install gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64验证编译环境
先编译一个简单的C++测试文件(如test.cpp)确认环境正常:#include <iostream> int main() { std::cout << "Hello World" << std::endl; return 0; }执行编译命令:
x86_64-w64-mingw32-g++ test.cpp -o test.exe若编译成功,再尝试编译你的
reverse.cpp文件。
内容的提问来源于stack exchange,提问作者Shinomoto Asakura
相关产品推荐
相关产品推荐

