如何在Visual Studio中更改C++标准库实现

6
我想更换微软的C++标准库,改用支持C++17标准的其他库,比如说libstdc++或libc++。请问是否有可能实现这个目的?我不知道该怎么做。
1个回答

0
据我所知,VS2017 对 c++17 有一些部分支持。这不仅涉及库,还包括编译器对新功能的支持。因此,简单的答案是:最好使用现有的 VS2017,甚至可以使用 带有微软代码生成的clang 进行编译。

我之前一直在VS中使用Clang,但是IntelliSense不支持一些特性,比如折叠表达式。此外,与GCC或Clang相比,MSVC的支持较差:http://en.cppreference.com/w/cpp/compiler_support - Robert Pawlak
@RobertPawlak IntelliSense使用自己的内部编译器来检查语法,这是无法更改的。 - user7881131
1
@RobertPawlak 那个页面有点过时了。这是一个链接,显示了当前发布、预览版本中发布的内容以及即将推出的内容: https://blogs.msdn.microsoft.com/vcblog/2017/05/10/c17-features-in-vs-2017-3/ 。目前还没有折叠表达式。他们试图让Intellisense解析器与MSVC编译器保持同步。 - Andrey Turkin
@AndreyTurkin,那么您的意见是没有任何机会使用其他的标准库来替换微软的吗? - Robert Pawlak
我认为这是可以做到的,但不确定需要多少工作量(因为它们的STL实现中可能有一些MSVC特定的钩子,其他库也可能有类似情况)。但你为什么要这样做呢?MSVC的STL对C++17的支持应该相当不错,比编译器对C++17的支持要好。如果你想同时切换编译器和库,那么使用clang可能更容易一些吧? - Andrey Turkin
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接