我有一个简单的程序,可以使用MinGW的C / C ++库成功地使用clang进行编译:
#includeint main(int argc, char **argv) { printf("Hello world!\n"); return 0; }
我能够使用mingw-gcc成功编译此代码:
$ gcc test.c -o test $ ./test Hello world!
我也可以使用clang + mingw成功编译它:
$ clang test.c -o test -target $ ./test Hello world!
但是,如果我对程序(包括float.h)进行了少量更改,它将继续使用gcc进行编译,但不再使用clang进行编译:
#include#include int main(int argc, char **argv) { printf("Hello world!\n"); return 0; }
$ gcc test.c -o test $ ./test Hello world! $ clang test.c -o test -target x86_64-pc-windows-gnu In file included from test.c:2: In file included from C:\llvm\built\lib\clang\8.0.0\include\float.h:45: C:\mingw64-8.1.0\x86_64-w64-mingw32\include\float.h:28:15: fatal error: 'float.h' file not found #include_next^~~~~~~~~ 1 error generated.
c是否存在某些配置问题或缺少命令行参数?仔细研究一下,似乎包括float.h时的路径顺序很重要,但是所有这些都应该由clang驱动程序在内部处理。