
我试图让Clang在windows上工作,最终用Qt Creator开发,看看它是否是Visual Studio的一个可行的替代scheme。
我使用MinGW w64 (mingw-w64-bin_i686-mingw_20111220.zip)编译LLVM和Clang 3.2(SVN修订版163238),并通过添加AddMinGWCPlusPlusIncludePaths("D:/Code/mingw/lib/gcc","x86_64-w64-mingw32","4.7.0"); )指向gcc的C ++头文件目录AddMinGWCPlusPlusIncludePaths("D:/Code/mingw/lib/gcc","4.7.0"); 到clang/lib/Frontend/InitheaderSearch.cpp ,虽然我认为这可能不是最新的方法。 无论如何,铿锵似乎find大部分的标题。
但是,编译一个简单的Hello World时:
#include <iostream> int main(int argc,char* argv[]) { std::cout << "testn"; return 0; }
使用clang++ main.cpp我得到这个错误:
安装Clang / LLVM / Ubuntu
ClangOnWin是可靠的发行版吗?
Clang / GCC真的支持延迟加载function吗?
GCC c ++ 11使用大量的RAM,STL位集<UINT_MAX>
强制编译器为某个variables使用某个寄存器
In file included from main.cpp:1: In file included from D:/Code/mingw/lib/gcc/x86_64-w64-ming32/4.7.0./include/c++iostream:39: In file included from D:/Code/mingw/lib/gcc/x86_64-w64-ming32/4.7.0./include/c++ostream:39: In file included from D:/Code/mingw/lib/gcc/x86_64-w64-ming32/4.7.0./include/c++ios:39: In file included from D:/Code/mingw/lib/gcc/x86_64-w64-ming32/4.7.0./include/c++iosfwd:41: In file included from D:/Code/mingw/lib/gcc/x86_64-w64-ming32/4.7.0./include/c++postypes.h:41: D:/Code/mingw/lib/gcc/x86_64-w64-ming32/4.7.0./include/c++cwchar:45:10: Fatal error: 'wchar.h' file not found
所以,Clang显然发现了几个包含iostream C ++头文件,但是找不到wchar.h 。 原来, wchar.h位于.../include/c++tr1 ,Clang不查找它。 将这些TR1头部移到一个目录也无济于事。
我在这里做错了什么? gcc C ++库与Clang不兼容,因为显然它还没有将一些TR1库集成到标准中? 我在哪里可以得到一个兼容的C + + 11的叮当(windows的)库?
运行时库在窗户上铿锵声
在windows上用CMake,Ninja和Clang构build
铛错误 – 找不到stddef文件?
来自EPEL的Amazon linux上的Clang找不到C ++头文件或库
与Clang编译时,链接程序无法在64位Mint OS下find32位库
你错误地配置了错误的Clang。 您还需要添加MinGW-w64路径,在您添加版本的地方。
使用我提供的预构建版本和解释在这里: windows上的铿锵声
我修改了Clang以使用MinGW-w64头文件和GCC 4.6.3 libstdc ++头文件和库。 目前,它被困在版本3.2,但如果你应用类似的补丁来源(我不幸没有补丁文件),你应该也可以使用它。
我提供的只是提取,添加到PATH,并使用。 而且只有32位。
另外请注意,您使用的是MinGW-w64 GCC的古老版本,您应该更新它。
尝试手动下载“wchar.h”并将其放置在Visual Studio项目的本地工作目录中。 适合我。
如果你通过-nostdinc++来叮当响你应该能够把它指向包含多个-I开关的确切配置。 尝试-nostdsysteminc -nobuiltininc以及。
-v应该告诉你它编译时在哪里查找标题的顺序和顺序:
clang++ -v -nostdinc++ -ID:/Code/mingw/lib/gcc/x86_64-w64-ming32/4.7.0./include/c++ -ID:/Code/mingw/lib/gcc/x86_64-w64-ming32/4.7.0./include/c++/tr1 foo.cpp
我遇到了同样的问题使用铿锵 – 版本3.4(198054)和mingw-get.exe – 版本0.6.2-beta-20131004-1:事实证明我已经安装了MinGW不正确:我最初只检查框对于mingw-get.exe包选择对话框中的'mingw-gcc-g ++',稍后添加'mingw32-base'来解决这个wchar_t.h问题:clang ++。exe -std = c ++ 11编译的C ++ 11 iostream代码就好了。
总结以上是内存溢出为你收集整理的Clang和C ++ 11头文件全部内容,希望文章能够帮你解决Clang和C ++ 11头文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)