我正在使用MSVC ++ 2013,我安装了Clang插件。
但是,由于我使用STL,I'm getting bugs like this one:
In file included from C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\map:6:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xtree(1667,3) : error: cannot compile this try statement yet
_TRY_BEGIN
^~~~~~~~~~
它们非常多。事实上,头文件只有问题 - 这让我感到困惑。
这是一个真正的编译器错误吗?与MS不相容' STL实施?
如果是这样,我可以修理它吗?
我想过使用GCC或LLVM的标题,但我不知道如何 - 任何指针都会受到高度赞赏。
答案 0 :(得分:1)
由于你坚持认为环境设置正确,我查找了那个不理解的确切宏。当_HAS_EXCEPTIONS
定义为0
时,MSVC标头本身包含xstddef时,可能会发生该特定错误。我无法在该宏上找到任何其他条件,因此您的clang似乎正在编译而没有例外。
这敲响了我的脑袋,Clang长时间在窗户上遇到异常问题。根据此链接,它仍然在MSVC兼容模式下:"异常和SEH:最小。 Clang可以解析这两个构造,但不知道如何发出兼容的处理程序。 Clang不能抛出异常但它可以重新抛出它们。" http://clang.llvm.org/docs/MSVCCompatibility.html
答案 1 :(得分:0)
我不认为llvm的libc ++可以用msvc编译。您最好的选择是尝试使用LLVM生成MSVC兼容代码,该代码可以(理论上)与Visual C ++编译代码链接。