2015-12-03 79 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