升级到Ubuntu 13.10“Saucy”后,Clang现在给我错误信息:
clang -Wall -Werror -std=c99 -ggdb -O0 5.1.c -o 5.1
In file included from 5.1.c:1:
/usr/include/stdio.h:33:11: fatal error: 'stddef.h' file not found
# include <stddef.h>
^
1 error generated.
make: *** [5.1] Error 1
顺便说一句,我所包含的标题是stdio.h
而非stddef.h
,但我假设stdio.h
引用或#includes
stddef.h
答案 0 :(得分:6)
这是ubuntu中的一个已知错误。看看这里:https://bugs.launchpad.net/ubuntu/+source/llvm-defaults/+bug/1242300
似乎临时解决方法是更正符号链接:
对于3.5 LLVM工具链,它似乎是符号链接 /usr/lib/clang/3.5/include错误地指向 ../../llvm-3.4/lib/clang/3.5/include,但应该指向 ../../ LLVM-3.5 / LIB /铛/ 3.5 /包括
解决方法(当然)是手动更正符号链接。
对于3.4工具链,/ usr / lib / clang / 3d / include不存在于 所有。我没有在Ubuntu上尝试LLVM 3.4,所以我不知道是否创建 符号链接到../../llvm-3.4/lib/clang/3.4/include将修复 问题,但似乎有可能。
答案 1 :(得分:4)
尝试在未安装clang-tidy
的情况下运行clang
时出现此错误。
安装clang修复了此错误。如果clang-tidy
在GCC和系统路径中查找标头,并且缺少这些标头的clang
版本/符号链接,则会发生IMO。