我已经在 Linux Mint 12 上成功使用 gcc。现在我收到错误。我最近做了一些 .so 构建,并在不久前安装了 Clang,但自从这两个事件以来已经成功编译,所以不确定发生了什么变化。我使用GUI Software Manager删除并重新安装gcc,但结果是相同的:
~/code/c/ut: which gcc
/usr/bin/gcc
~/code/c/ut: gcc -std=c99 -Wall -Wextra -g -c object.c
gcc: error trying to exec 'cc1': execvp: No such file or directory
最佳答案
说明
错误消息告诉我们,未找到构建时依赖项(在本例中为 cc1
),因此我们需要的就是将适当的包安装到系统(使用包管理器//来自源//另一种方式)
什么是cc1
:
cc1
is the internal command which takes preprocessed C-language files and converts them to assembly. It's the actual part that compiles C. For C++, there's cc1plus, and other internal commands for different languages.
taken from this answer通过 Alan Shutko .
解决方案:Ubuntu/Linux Mint
sudo apt-get update
sudo apt-get install --reinstall build-essential
解决方案:Docker-alpine 环境
如果您处于docker-alpine环境中,请安装build-base将此添加到您的 Dockerfile
中:
RUN apk add build-base
Pablo Castellano 提供的更好的包名称。更多 details here .
如果您需要更多软件包用于构建目的,请考虑添加 alpine-sdk封装:
RUN apk add alpine-sdk
取自github
解决方案:CentOS/Fedora
This answer包含 CentOS 和 Fedora Linux 的说明
解决方案:Amazon Linux
sudo yum install gcc72-c++
您也可以尝试通过此安装丢失的依赖项(尽管据说不能解决问题):
sudo yum install gcc-c++.noarch
关于海湾合作委员会错误: gcc: error trying to exec 'cc1' : execvp: No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11912878/