找不到clang stdio,h文件

安古鲁·布兰

我用Visual Studio安装了clang,然后按照文档中的说明构建了突出显示的项目。

在此处输入图片说明

构建成功,但是当我尝试这样做时:

clang -cc1 -analyze -analyzer-checker=core.DivideZero test.c

它说:

test.c:1:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
         ^~~~~~~~~
1 error generated.

我尝试了许多建议,但没有任何效果。

但是,如果我这样做是可行的

clang --analyze text.c

我不知道这是否使用了所有可用的检查器。我需要编写自己的检查器并对其进行测试...

有任何想法吗?

输出 clang --version

clang version 7.0.0 (trunk 322536)
Target: i686-pc-windows-msvc
Thread model: posix
InstalledDir: C:\path\build\Debug\bin
自闭症

是的,我有个主意。删除-cc1<stdio.h>根据叮当常见问题解答,这是您的错误。它非常明确地陈述了您的例子:

$ clang -cc1 hello.c
hello.c:1:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
         ^
1 error generated.

继续阅读,它提供了其他替代解决方案以及有用的解释,您当然应该完整阅读所有解释,因为作为程序员,我们有责任阅读所用技术的手册。

clang -cc1是前端,clang是驱动程序。驱动程序使用适合您系统的选项来调用前端。要查看这些选项,请运行:

$ clang -### -c hello.c

一些clang命令行选项是仅驱动程序选项,一些是仅前端选项。仅前端选项仅供clang开发人员使用。用户不应该clang -cc1直接运行,因为-cc1不能保证选项的稳定性。

例如,如果要使用仅前端选项(“ a-cc1选项”)-ast-dump,则需要clang -cc1使用驱动程序生成行并添加所需的选项。另外,您也可以运行clang -Xclang <option> ...,迫使司机通<option>clang -cc1

重点是我的。这应该给您足够的指导以完成您需要完成的工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章