visualstudio2008与c++;11 我能不能让Visual C++ 2008拥有C++ 11库,并使用C++ 11标准中的所有好东西? 总之,这是不可能的。VS2008不支持C++11,替换这些库将导致混乱

visualstudio2008与c++;11 我能不能让Visual C++ 2008拥有C++ 11库,并使用C++ 11标准中的所有好东西? 总之,这是不可能的。VS2008不支持C++11,替换这些库将导致混乱,c++,visual-c++,visual-studio-2008,c++11,C++,Visual C++,Visual Studio 2008,C++11,长话短说,你或许可以做点什么: 使用其他编译器: 您可以升级visual studio,但即使是MSVC12(visual studio 2013)也不支持所有C++11标准 您可以将英特尔编译器嵌入到visual studio中。但英特尔也没有完全支持C++11,尽管如此,它比MSVC更支持C++11。一个如何嵌入英特尔编译器的小程序 更新:clang现在也可以与visual studio一起使用,请参阅 更新:正如Melebius在评论中所说,MSVC19(VS2015)最终支持大部分C++

长话短说,你或许可以做点什么:

  • 使用其他编译器:
  • 您可以升级visual studio,但即使是MSVC12(visual studio 2013)也不支持所有C++11标准
  • 您可以将英特尔编译器嵌入到visual studio中。但英特尔也没有完全支持C++11,尽管如此,它比MSVC更支持C++11。一个如何嵌入英特尔编译器的小程序
  • 更新:clang现在也可以与visual studio一起使用,请参阅
  • 更新:正如Melebius在评论中所说,MSVC19(VS2015)最终支持大部分C++11标准
    如果可以升级到MSVC++2010,它将实现标准的有限子集。在2011 Marc GeGurGar中,在MS Visual C++ 2010中支持了C11特性的良好显示。 (作为一个在家里也只能使用XP的人,我能感受到你的痛苦。)

    如果您不需要构建MS Windows、CLI或MFC应用程序,您可以考虑G++,它在32位版本中具有相当广泛的C11标准子集。如果没有,您可以在他们的站点下载CYGWIN应用程序/DLL


    正如前面提到的,您可以尝试将更兼容的编译器移植到MSVC中。唉,我还没有尝试移植它,所以我不能给你任何提示或窍门来帮助你这么做。

    如果你一直在使用MSVC 2008或2010,我已经设法为它实现了各种C++11(可能还有一些-C++14)功能,作为我工作的一部分。当然,依赖lexer/parser支持的功能(如可变模板)无法模拟,但在大多数情况下,它允许我在MSVC 2008 Express(我的主要Windows目标)中编写向前兼容的代码


    不过,您可以使用另一个编译器。GCC对Windows XP的支持高达4.6(通过Mingw安装程序),它带来了C++11最重要的细节,如可变模板和
    constepr
    noexcept

    一些C++11标准库的基础知识可以在VS2008中使用,使用VisualStudio 2008可能会浪费时间,当你可以使用最新的Visual Studio社区免费使用最新的C++编译器。但是,我更喜欢C++的Visual Studio 2008 IDE。原因很多,但速度可能是最明显的。诀窍是在VisualStudio2008IDE中使用最新的编译器和工具。它实际上工作得很好,没有任何问题,我这么多年来都遇到过这样的问题。我是这样做的:

  • 删除
    %LOCALAPPDATA%/Microsoft/VisualStudio/9.0/VCComponents.dat
  • 编辑
    /VC/vcpackages/VCProjectEngine.dll.config
    /VC/vcpackages/AMD64.vcplation.config
    ,以反映Visual Studio 2019社区、Windows 10 SDK和您想要的任何额外库的路径
  • 这就是你所需要的!提示:我使用2个环境变量来跟踪编译器版本号和SDK版本号
    CurrentUCRT=10.0.18362.0
    CurrentVCTools=14.24.28314
    ,在需要时手动更改。因此,
    VCProjectEngine.dll.config
    中的一行看起来像这样:
    Include=“$(CurrentVS)VC/Tools/MSVC/$(CurrentVCTools)/Include;”
    。我对配置文件使用符号链接,因此不必在新的Visual Studio安装中重新创建它们。您还可以使用此技术启用
    clang编译器
    ,如下所示:

  • 创建一个空目录,并将其放在上面的搜索顺序的第一位
  • 在目录中创建指向
    clang-cl.exe
    的符号链接,并将其命名为
    cl.exe
  • 通过重命名符号链接来关闭和打开clang编译器

  • 不,VS2008不支持C++11,除非你使用不同的编译器。但也许我们可以下载更多的C++11库文件?你会很难。想想像
    std::tuple
    这样的东西,每个实现者都将使用可变模板。现在有一个功能包,它有许多来自c++11的功能。例如,我在那里找到了c++11标题。那太可悲了。我有一台旧机器,必须运行自vs2010以来不受支持的winxp(它在我的电脑上的性能已经很糟糕)。@user2543574你必须使用visual studio吗?不,但我不确定其他编译器是否会比VC2008b运行得更快:如果你是说ide,试试qt(可能不是最新的)。。。qt还支持更多的编译器(我已经用msvc、gcc和clang进行了测试)。。。如果您是指编译器,那么您可以尝试使用clang.vs2015,它似乎最终支持大多数C++11标准。