You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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的存在与权限

    1. 查找mingw套件下的cc1路径:
      find /usr -name cc1 -path "*mingw*"
      
    2. 若找到路径,检查其执行权限,无权限则添加:
      sudo chmod +x /path/to/your/mingw/cc1
      
    3. 验证工具链可用性:
      x86_64-w64-mingw32-g++ --version
      
  • 重装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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 17:33:25