C++ 叮当声和<;iostream>;在窗户上
据 我使用Visual Studio 2010在Windows上完成了所有构建,并使用$path=…ClangSourcBuildPath…\BUILD\bin\Release将构建的内容添加到我的系统路径中 现在,我可以在控制台上使用编译以下文件: $>clang文件\u c.cC++ 叮当声和<;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 #包括
//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 > >
...