Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 叮当声和<;iostream>;在窗户上_C++_Clang - Fatal编程技术网

C++ 叮当声和<;iostream>;在窗户上

C++ 叮当声和<;iostream>;在窗户上,c++,clang,C++,Clang,据 我使用Visual Studio 2010在Windows上完成了所有构建,并使用$path=…ClangSourcBuildPath…\BUILD\bin\Release将构建的内容添加到我的系统路径中 现在,我可以在控制台上使用编译以下文件: $>clang文件\u c.c //file_c.c #include <stdio.h> int main() { printf("hello world\n"); return 0; } //文件\u c.c #包括

据 我使用Visual Studio 2010在Windows上完成了所有构建,并使用$path=…ClangSourcBuildPath…\BUILD\bin\Release将构建的内容添加到我的系统路径中

现在,我可以在控制台上使用编译以下文件:

$>clang文件\u c.c

//file_c.c
#include <stdio.h>

int main() 
{
  printf("hello world\n");
  return 0;
}
//文件\u c.c
#包括
int main()
{
printf(“hello world\n”);
返回0;
}
但是,如果我对以下文件执行相同的操作($>clangfile\u cpp.cpp):

//文件\u cpp.cpp
#包括
int main()
{
标准::cout>
...
我还尝试:

$>clang++文件\u cpp.cpp
$> CLAN-XC++文件FIPE.CPP.CPP

但我还是会犯同样的错误

有人能告诉我出了什么问题吗?

需要使用某些标志(我认为是
-fms extensions
,不太确定确切的选项)来解析VC++标题

您将遇到的下一个问题是,生成的可执行文件无法链接。这是因为clang使用了与MSVC不同的名称mangling,并且将导致未定义的引用

如果您想在Windows上使用Clang(目前可以使用MinGW-w64),您可以使用我的预构建包,您需要

  • 解压到同一目录。在本例中,GCC仅用于调用链接器。Clang可用于编译所有内容

    目前没有使用CLAN C++的方法,VisualStudio头文件+ LIBS。C应该工作,但是我没有测试过,可能还有其他ABI问题阻止了这个工作。

    //file_cpp.cpp
    #include <iostream>
    
    int main()
    {
        std::cout << "Hello World!";
        return 0;
    }
    
    In file included from C:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iostream:9:   
    In file included from C:\Program Files (x86)\Microsoft Visual Studio\VC98\include\istream:9:  
    In file included from C:\Program Files (x86)\Microsoft Visual Studio\VC98\include\ostream:9:  
    In file included from C:\Program Files (x86)\Microsoft Visual Studio\VC98\include\ios:9:  
    In file included from C:\Program Files (x86)\Microsoft Visual Studio\VC98\include\streambuf:9:  
    In file included from C:\Program Files (x86)\Microsoft Visual Studio\VC98\include\xlocnum:13:  
    In file included from C:\Program Files (x86)\Microsoft Visual Studio\VC98\include\xiosbase:9:  
    In file included from C:\Program Files (x86)\Microsoft Visual Studio\VC98\include\xlocale:11:  
    In file included from C:\Program Files (x86)\Microsoft Visual Studio\VC98\include\stdexcept:10:  
    In file included from C:\Program Files (x86)\Microsoft Visual Studio\VC98\include\xstring:9:  
    In file included from C:\Program Files (x86)\Microsoft Visual Studio\VC98\include\xmemory:15:  
    
    C:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility:81:10:   
    error: missing 'typename' prior to dependent type name '_It::iterator_category' typedef _It::iterator_category iterator_category;
    
    C:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility:82:10:  
    error: missing 'typename' prior to dependent type name '_It::value_type' typedef _It::value_type value_type;
    
    C:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility:83:10:  
    error: missing 'typename' prior to dependent type name '_It::distance_type' typedef _It::distance_type distance_type;
    
    C:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility:224:32:  
    error: template parameter redefines default argument  
     template < class _E, class _Tr = char_traits< _E > >  
    
    ...