我用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] 删除。
我来说两句