ubantu /usr/include/features.h:324:26: 致命错误: bits/predefs.h:没有那个文件或目录编译中断 错误解决

在遇到“/usr/include/features.h:324:26: 致命错误: bits/predefs.h:没有那个文件或目录编译中断”错误时:

daniel@daniel-VPCEA48EC:~/usr/csapplabs/1datalab/datalab-handout$ make

gcc -O -Wall -m32 -lm -o btest bits.c btest.c decl.c tests.c
In file included from /usr/include/stdio.h:28:0,
                 from btest.c:16:
/usr/include/features.h:324:26: 致命错误: bits/predefs.h:没有那个文件或目录
编译中断。
In file included from /usr/include/stdio.h:28:0,
                 from decl.c:1:
/usr/include/features.h:324:26: 致命错误: bits/predefs.h:没有那个文件或目录
编译中断。
In file included from /usr/include/limits.h:27:0,
                 from /usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed/limits.h:169,
                 from /usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed/syslimits.h:7,
                 from /usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed/limits.h:34,
                 from tests.c:3:
/usr/include/features.h:324:26: 致命错误: bits/predefs.h:没有那个文件或目录
编译中断。

make: *** [btest] 错误 1

可以尝输入sudoapt-get install gcc-multilib即可

daniel@daniel-VPCEA48EC:~/usr/csapplabs/1datalab$ sudo apt-get install gcc-multilib
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会安装下列额外的软件包:
  gcc-4.6-multilib lib32gcc1 lib32gomp1 lib32quadmath0 libc-bin libc-dev-bin
  libc6 libc6-dev libc6-dev-i386 libc6-i386
建议安装的软件包:
  lib32mudflap0 glibc-doc
下列【新】软件包将被安装:
  gcc-4.6-multilib gcc-multilib lib32gcc1 lib32gomp1 lib32quadmath0
  libc6-dev-i386 libc6-i386
下列软件包将被升级:
  libc-bin libc-dev-bin libc6 libc6-dev
升级了 4 个软件包,新安装了 7 个软件包,要卸载 0 个软件包,有 708 个软件包未被升级。
需要下载 17.2 MB 的软件包。
解压缩后会消耗掉 20.5 MB 的额外空间。
您希望继续执行吗?[Y/n]Y
获取:1 http://cn.archive.ubuntu.com/ubuntu/ precise-updates/main libc6-dev amd64 2.15-0ubuntu10.6 [2,946 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu/ precise-updates/main libc-dev-bin amd64 2.15-0ubuntu10.6 [85.1 kB]
获取:3 http://cn.archive.ubuntu.com/ubuntu/ precise-updates/main libc-bin amd64 2.15-0ubuntu10.6 [1,184 kB]
获取:4 http://cn.archive.ubuntu.com/ubuntu/ precise-updates/main libc6 amd64 2.15-0ubuntu10.6 [4,652 kB]
获取:5 http://cn.archive.ubuntu.com/ubuntu/ precise-updates/main libc6-i386 amd64 2.15-0ubuntu10.6 [3,988 kB]
获取:6 http://cn.archive.ubuntu.com/ubuntu/ precise-updates/main libc6-dev-i386 amd64 2.15-0ubuntu10.6 [1,511 kB]
获取:7 http://cn.archive.ubuntu.com/ubuntu/ precise/main lib32gcc1 amd64 1:4.6.3-1ubuntu5 [54.1 kB]
获取:8 http://cn.archive.ubuntu.com/ubuntu/ precise/main lib32gomp1 amd64 4.6.3-1ubuntu5 [28.2 kB]
获取:9 http://cn.archive.ubuntu.com/ubuntu/ precise/main lib32quadmath0 amd64 4.6.3-1ubuntu5 [195 kB]
获取:10 http://cn.archive.ubuntu.com/ubuntu/ precise/main gcc-4.6-multilib amd64 4.6.3-1ubuntu5 [2,534 kB]
获取:11 http://cn.archive.ubuntu.com/ubuntu/ precise/main gcc-multilib amd64 4:4.6.3-1ubuntu5 [1,154 B]
下载 17.2 MB,耗时 21秒 (795 kB/s)                                             
正在预设定软件包 ...
(正在读取数据库 ... 系统当前共安装有 144335 个文件和目录。)
正预备替换 libc6-dev 2.15-0ubuntu10 (使用 .../libc6-dev_2.15-0ubuntu10.6_amd64.deb) ...
正在解压缩将用于更替的包文件 libc6-dev ...
正预备替换 libc-dev-bin 2.15-0ubuntu10 (使用 .../libc-dev-bin_2.15-0ubuntu10.6_amd64.deb) ...
正在解压缩将用于更替的包文件 libc-dev-bin ...
正预备替换 libc-bin 2.15-0ubuntu10 (使用 .../libc-bin_2.15-0ubuntu10.6_amd64.deb) ...
正在解压缩将用于更替的包文件 libc-bin ...
正在处理用于 man-db 的触发器...
正在设置 libc-bin (2.15-0ubuntu10.6) ...
(正在读取数据库 ... 系统当前共安装有 144334 个文件和目录。)
正预备替换 libc6 2.15-0ubuntu10 (使用 .../libc6_2.15-0ubuntu10.6_amd64.deb) ...
正在解压缩将用于更替的包文件 libc6 ...
正在设置 libc6 (2.15-0ubuntu10.6) ...
正在处理用于 libc-bin 的触发器...
ldconfig deferred processing now taking place
Selecting previously unselected package libc6-i386.
(正在读取数据库 ... 系统当前共安装有 144334 个文件和目录。)
正在解压缩 libc6-i386 (从 .../libc6-i386_2.15-0ubuntu10.6_amd64.deb) ...
Selecting previously unselected package libc6-dev-i386.
正在解压缩 libc6-dev-i386 (从 .../libc6-dev-i386_2.15-0ubuntu10.6_amd64.deb) ...
Selecting previously unselected package lib32gcc1.
正在解压缩 lib32gcc1 (从 .../lib32gcc1_1%3a4.6.3-1ubuntu5_amd64.deb) ...
Selecting previously unselected package lib32gomp1.
正在解压缩 lib32gomp1 (从 .../lib32gomp1_4.6.3-1ubuntu5_amd64.deb) ...
Selecting previously unselected package lib32quadmath0.
正在解压缩 lib32quadmath0 (从 .../lib32quadmath0_4.6.3-1ubuntu5_amd64.deb) ...
Selecting previously unselected package gcc-4.6-multilib.
正在解压缩 gcc-4.6-multilib (从 .../gcc-4.6-multilib_4.6.3-1ubuntu5_amd64.deb) ...
Selecting previously unselected package gcc-multilib.
正在解压缩 gcc-multilib (从 .../gcc-multilib_4%3a4.6.3-1ubuntu5_amd64.deb) ...
正在设置 libc-dev-bin (2.15-0ubuntu10.6) ...
正在设置 libc6-dev (2.15-0ubuntu10.6) ...
正在设置 libc6-i386 (2.15-0ubuntu10.6) ...
正在设置 libc6-dev-i386 (2.15-0ubuntu10.6) ...
正在设置 lib32gcc1 (1:4.6.3-1ubuntu5) ...
正在设置 lib32gomp1 (4.6.3-1ubuntu5) ...
正在设置 lib32quadmath0 (4.6.3-1ubuntu5) ...
正在设置 gcc-4.6-multilib (4.6.3-1ubuntu5) ...
正在设置 gcc-multilib (4:4.6.3-1ubuntu5) ...
正在处理用于 libc-bin 的触发器...
ldconfig deferred processing now taking place

接下来就可以使用makefile编译了:

daniel@daniel-VPCEA48EC:~/usr/csapplabs/1datalab$ make
make: *** 没有指明目标并且找不到 makefile。 停止。
daniel@daniel-VPCEA48EC:~/usr/csapplabs/1datalab$ cd datalab-handout
daniel@daniel-VPCEA48EC:~/usr/csapplabs/1datalab/datalab-handout$ make
gcc -O -Wall -m32 -lm -o btest bits.c btest.c decl.c tests.c
btest.c: 在函数‘main’中:
btest.c:528:9: 警告: 变量‘errors’被设定但未被使用 [-Wunused-but-set-variable]
gcc -O -Wall -m32 -o fshow fshow.c
gcc -O -Wall -m32 -o ishow ishow.c


你可能感兴趣的:(ubantu /usr/include/features.h:324:26: 致命错误: bits/predefs.h:没有那个文件或目录编译中断 错误解决)