當前位置:編程學習大全網 - 編程語言 - 用VS2013在win7下編寫的C++程序怎麽在XP下運行

用VS2013在win7下編寫的C++程序怎麽在XP下運行

額外說明:(1)程序必須為Dotnet 4.0及以下版本。(XP只支持Dotnet4.0及以下版本,不支持Dotnet 4.5)

(2)用C#編寫的程序,無需進行如下設置,只要在目標機的xp中安裝相應的Dotnet版本即可。

用VS2013在win7下編寫的C++程序在XP下運行的錯誤與解決。

1.在xp下運行報錯為:“不是有效的win32應用程序。”

解決方法:

配置屬性-常規-平臺工具集,選擇“VisualStudio 2013 (v120 XP)”。

註意:C#編寫的程序沒有該選項,如何解決C#的程序在XP下的運行,待解決。

2.將原動態編譯改為靜態編譯,否則報錯為:未找到MSVCR120D.DLL“

解決方法:

配置屬性-C/C++-代碼生成-基本運行時庫,

由默認的“多線程調試DLL(/MDd)”,改成“多線程 (/MT)”,確定之後,重新編譯。

註意:網上說這壹步需要根據妳的當前工程屬性Debug還是Release來選擇“Multi-threadedDebug (/MTd)”或者“Multi-threaded (/MT)”,但我不論在debug還是release模式下,均選擇“多線程/MT”,均能正常運行。

3.配置屬性-常規-使用MFC,選擇“Use MFC in a Static Library”(非MFC程序可無視)。

註意:我改了這壹步後,編譯報錯,原因未知。

只要做前面1,2步,即可在XP下運行。

4.將妳的工程中依賴的所有外部庫,都按照步驟1~3重新編譯。

註意第四步很重要。如果妳只完成了前三步,編譯工程發現壹大堆link錯誤,那就是妳第四步沒有做完整的原因了。

壹個項目使用的庫中如果存在不同版本的基本運行時庫,必然導致沖突。

如果妳用到的第三方庫沒有源碼,而且又不是用MTD或MT編譯的,很可能妳就悲劇了。

5、網上說是還需在以下方面修改,未測試:

原文說:

項目菜單->項目屬性->鏈接器->系統->子系統->控制臺或窗口windows(根據妳的項目類型選擇),第二項版本號設成5.01。

  • 上一篇:NSK軸承與NMB軸承的對比
  • 下一篇:關於Android開發,這樣的UI如何實現?
  • copyright 2024編程學習大全網