【发布时间】:2015-09-08 00:11:26
【问题描述】:
我想在 Windows 上使用 clang 编译 C 代码。
我想知道它是否真的是一个可以做到这一点的独立编译器,还是它的目标有些不同?
我以前使用过它,但现在看来它是在任何 gcc 编译器(例如 mingw)之上的捎带。
如果我尝试全新安装 clang 64 位二进制文件(并且我隐藏了我的 mingw/gcc 目录),那么它找不到用于 Hello World 的 stdio.h。这是直接在 bin 目录 (C:\clang\bin) 内运行的。如果我取消隐藏 mingw,它会编译,但是我会收到这样的错误(一个 mingw 编译器在 c:\win 中):
c:\win\bin\ld.exe 找不到-lgcc_s
考虑到 clang 是一个 438MB 的安装,你会认为它会有自己的包含和库文件!我想用clang 代替 gcc。
那么,我做错了什么? (我也看到了一些关于无法找到 stdio.h 的问题,但它们没有帮助。当然 clang 必须能够自己编译 Hello World?!)
【问题讨论】:
-
那是……公然错误。 FreeBSD 完全使用 Clang,根本不使用 GCC(也不再安装 GCC)。
-
Clang 和 GCC 都不包含 C 库。无论您如何部署,在某处都会有一个单独的 C 库。