用VS2012或VS2013在win7下編寫的程序在XP下運行就出現“不是有效的win32應用程序


問題描述:

 

用VC2013編譯了一個程序,在Windows 8、Windows 7(64位、32位)下都能正常運行。但在Win XP,Win2003下運行時,卻報錯不能運行,具體錯誤信息為“指定的可執行文件不是有效的 Win32 應用程序”。

用VS2012或VS2013在win7下編寫的程序在XP下運行就出現“不是有效的win32應用程序

 

 

問題分析:

 

用eXeScope打開該exe,發現操作系統需求為“6.0”,即只能在Windows Vista或更高的操作系統下運行。

 

 

解決方法:

解決方法1:

鏈接器->系統->子系統->控制台或windows 后面的”最低版本“是5.01

解決辦法2:

1.用VC2013打開項目源代碼,選中項目,然后右鍵菜單里點屬性打開項目屬性對話框;

2.在左側樹列表里選擇 配置屬性->常規,然后在右側列表的“平台工具集”選中“Visual Studio 2013 – Windows XP (v120_xp)”,再點擊確認。

 

改好后重新編譯,就能正常運行了。

此時再用eXeScope打開該exe,發現操作系統需求為“5.1”,即能在Windows XP或更高的操作系統下運行。

參考微軟的解釋

http://msdn.microsoft.com/zh-SG/library/jj851139.aspx

 

解決辦法3:

 

1.下載安裝升級包http://www.microsoft.com/zh-cn/download/details.aspx?id=39305

2.可以通過如下的操作實現:

 

1).在“Solution Explorer”中選中項目,然后右鍵菜單里點屬性。

 

2).在Property Pages里選擇Configuation Properties,選擇General,然后在Platform Toolset里選中Visual Studio 2012 – Windows XP (v110_xp)即可。

這種方法的具體說明可參考:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM