繁体   English   中英

为什么我不能用clang编译这个程序?

[英]Why can't I compile this program with clang?

我从这里下载了Windows快照构建。 我只是运行该可执行文件并编写简单的C ++程序

#include <iostream>
int main()
{
     std::cout<<"Welcome to Clang\n";
}

clang ++ 999.cpp

999.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>
         ^
1 error generated.

这里出了什么问题? 我错过了什么? 我应该怎么做才能使用clang在Windows上成功编译我的C&C ++程序?

clang的C ++标准库没有windows平台支持: http//libcxx.llvm.org/

这就是为什么你不能简单地在windows中编译这个代码的原因:它找不到你所指的标题。

编辑:

在Tom的评论之后,你可以给clang一个构建目标:

clang -target i686-pc-windows-win32 ....

当给出win32目标时,clang将使用msvc的库(如果已安装),并且环境变量INCLUDE未设置为其他位置。

但请注意, llvm网站提供了有关它的免责声明:

Clang主要适用于Windows,但目前不了解C和C ++的所有Microsoft扩展。 因此,clang无法解析Visual Studio附带的C ++标准库,也无法解析Windows Platform SDK的部分内容。 但是,大多数标准C程序都会编译。

您需要安装Visual Studio。

Clang使用它的库和头文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM