我已经在另一个网站上发过帖子,所以希望这不是交叉发布:
我的 Ubuntu 16.04 上有几个版本的 gcc 和 g++,我使用替代配置进行选择。编译非常简单的源代码时,编译器找不到标头。(stddef.h:没有这样的文件或目录)
经调查,gcc 安装没有完整的目录,例如:
usr/lib/gcc/x86_64-linux-gnu/4.8 有一个包含 cc1.exe 的目录
同时:
usr/lib/gcc/x86_64-linux-gnu/4.7 没有包含目录,也没有 cc1.exe(只有 cc1plus.exe)
我已经重新安装了 4.7,但似乎无法使其完成安装,有什么帮助吗?
谢谢
艾玛
答案1
dpkg -S
您可以使用以下方法查看哪些软件包提供了这些组件
$ dpkg -S /usr/lib/gcc/x86_64-linux-gnu/4.7/cc1 /usr/lib/gcc/x86_64-linux-gnu/4.7/include
cpp-4.7: /usr/lib/gcc/x86_64-linux-gnu/4.7/cc1
libgcc-4.7-dev:amd64: /usr/lib/gcc/x86_64-linux-gnu/4.7/include
cpp-4.7
和都libgcc-4.7-dev
应该作为的依赖项安装,gcc-4.7
但是这些文件可能已被手动删除 - 请尝试重新安装这些软件包,即
sudo apt-get install --reinstall cpp-4.7 libgcc-4.7-dev