2013-04-15 113 views
2

我已經轉換與Visual Studio 2005轉換被VC++ 6.0 VC++ 2005

這引發了很多的錯誤,因爲VC++ 2005在某種程度上比6.0更加 「嚴格」 爲VC++ 6.0 VC++ 2005編寫的C++程序。

我可以想到兩種可能的解決方案,但我不知道它是否可行。

是否有可能改變VS2005中的「嚴格性」級別,所以應用程序可以用VC++ 2005編譯?

在開發.NET應用程序時,可以更改特定應用程序的.NET框架版本。這是可能的VC++(我已經升級解決方案後從2005年切換到6.0)?

我是VC++新手,所以我是「編程學習」。

+1

最好保留你的項目的不同版本。一個用於6,一個用於2005年。我還建議跳過2005並且到2010年。爲了回答您的問題,我認爲您在將項目轉換爲2005年後不能恢復到6。 – ArgumentNullException

+1

VC++ 6被稱爲是一個可怕的錯誤編譯器。越早離開它並修復所有「新」問題,越好 – SomeWittyUsername

+0

.NET是如何被拋入這裏的? VC++ 6。0不支持.NET。它從來沒有聽說過它。如果你正在遷移到更新版本的Visual Studio,那麼你沒有理由把.NET混合起來。所有更高版本的Visual C++都支持本機編譯(即沒有任何.NET內容的本地C++代碼)。如果你想學習C++編程,那麼我建議你堅持下去。 –

回答

4

VS 2005不允許「編譯」爲較舊的編譯器版本。 VS 2012允許你編譯VS 2010,但這是VS第一次有這樣的功能。

如果你想升級一個項目到VS 2005,你將不得不硬着頭皮修復問題。 但這是一件好事!以我的經驗,「更嚴格」的編譯器確實在原始代碼中存在一些bug。

當你正在經歷升級編譯器的痛苦時,如果這是一個選項,你應該跳轉到最新版本(VS 2012)。


旁白:在.NET中你是目標特定的.NET版本,因爲最終用戶可以在其計算機上安裝了不同的.NET版本。但是對於C++,您「針對」x86或x64,而不是特定的編譯器。

+0

+1絕對是正確的事情。 – john

+0

幾乎正確。 VS 2010實際上是第一個引入[支持多目標]的版本(http://blogs.msdn.com/b/vcblog/archive/2009/12/08/c-native-multi-targeting.aspx),假定您已安裝了所需的編譯器版本。當然,我同意答案的其餘部分。 –

+0

感謝您的回覆。我有一種感覺,這將是答案。 –

0

第一次當您將Visual Studio 6.0中編寫的項目打開到Visual Studio 2005中時,IDE將轉換項目並報告錯誤。

它將列出轉換報告中的所有錯誤和警告並顯示給您。

除非刪除所有這些錯誤,否則您將無法成功構建項目。但是,您可以更改設置以彎曲此規則,以便只顯示選定的錯誤列表。

按照以下步驟操作: 1)在Visual Studio 2005項目中打開visual studio 6.0項目。 2)轉到Visual Studio菜單中的工具菜單項。 3)進入選項菜單項。 4)轉到性能工具。 5)去規則。 你會發現所有錯誤/警告的列表以及他們需要如何報告。您可以根據您的方便更改操作。

我希望這些信息對你有用。