Ale*_*aev 23 c++ windows mingw llvm clang
首先,我遵循了"入门:构建和运行Clang".特别是,我根据"使用Visual Studio"部分构建了它.换句话说,我使用Visual Studio 2010构建它.
其次,我手动设置MinGW发行版的包含和库路径:
我正在尝试编译的简单程序:
#include <iostream>
using namespace std;
int main() {
cout << "Hello, World!" << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我从编译器得到以下反馈:
In file included from C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\iostream:39:
In file included from C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\ostream:39:
In file included from C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\ios:38:
In file included from C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\iosfwd:41:
In file included from C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\bits/postypes.h:41:
C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\cwchar:144:11: error: no member named 'fgetws' in the global namespace
using ::fgetws;
~~^
C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\cwchar:146:11: error: no member named 'fputws' in the global namespace
using ::fputws;
~~^
C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\cwchar:150:11: error: no member named 'getwc' in the global namespace
using ::getwc;
~~^
C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\cwchar:151:11: error: no member named 'getwchar' in the global namespace
using ::getwchar;
~~^
C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\cwchar:156:11: error: no member named 'putwc' in the global namespace
using ::putwc;
~~^
C:\MinGW\lib\gcc\mingw32\4.5.2\include\c++\cwchar:157:11: error: no member named 'putwchar' in the global namespace
using ::putwchar;
~~^
6 errors generated.
Build error occurred, build is stopped
Time consumed: 646 ms.
Run Code Online (Sandbox Code Playgroud)
显而易见的问题是 - 为什么我会这样做?
另外,我想了解更多细节,因为Clang网站提供了非常简短的信息 - 我认为有人可以向我澄清以下问题:
clang/lib/Frontend/InitHeaderSearch.cpp
或者我可以跳过它,而是稍后通过"-I"选项指定这些路径,就像我在上面的屏幕截图中所做的那样?rub*_*nvb 32
如果使用MSVS构建Clang,它将自动搜索默认的VS include路径,并拉入这些头.这就是libstdc ++标头产生错误的原因:它们正在导入VS头中不存在的C函数.使用Clang for C++和VS现在是不行的:由于Clang中缺少ABI(名称修改和其他)功能,您将获得链接失败.如果您仍想使用MSVS Clang,请不要将其指向MinGW标头.它将解析VS头(包括C++),它将无法链接.
编辑:我已经建立了一个dw2版本的GCC(仅限32位),伴随着Clang.例外工作在这个版本中,因此您可以在Windows上使用Clang构建真正的C++内容.在这里获取3.2版.
归档时间: |
|
查看次数: |
36493 次 |
最近记录: |