2015-12-03 50 views
-1

我有一个在VS2012中创建的项目,我想使用源代码与VS2005构建DLL。我怎样才能编译它的错误:C++ 0X不完全支持?VS2005 C++ 0X不完全支持

例如有像许多错误: 错误C2061:的unique_ptr不是“STD” 错误C2039的成员:enable_if不 错误C3861的“STD”的成员:移动是不是“STD的一个成员' 我不知道如何更改代码,以便它可以被编译,是否有链接或我可以学会解决问题的东西?任何建议,将不胜感激。

+2

这不起作用。 C++ 0x在2011年完成。这就是为什么它支持(主要)在VS2012。 VS2005没有办法预测6年后标准会说些什么。 – MSalters

回答

0

在VS.NET 2005中不支持C++ 11,正如MSalters在评论中所述。甚至VS.NET 2015不支持所有C++ 11标准。您可以在这个页面找到更多的细节:https://msdn.microsoft.com/en-us/library/hh567368.aspx

编辑: 我刚才记住的东西。在Visual Studio中有一个选项可以使用另一个微软的编译器。你可以搜索一些在VS.NET 2005上工作的人,同时支持C++ 11.但是,我不知道它是否存在。另一件事,这不是一个好主意,因为兼容性会导致许多问题。

+0

可能是Intel C++ Compiler可以做到的。所以如果我想在VS2005中构建它,我必须重写相应的代码,哇,这比我想象的要复杂得多。 – SuperYoung

+1

@SuperYoung:你为什么如此重视VS2005,这是10岁(超过一生技术)?有[新版本的免费版](https://www.visualstudio.com/products/visual-studio-community-vs)。 –

+0

不是我,这是我们的公司。所有产品必须基于VS2005。 ==! – SuperYoung