楚香饭 发表于 2014-2-27 13:30:09

VS2012/2013 + IVF 编译出的程序无法在 XP 运行的解决办法

近日发现Visual Studio 2013 或 2012上,使用 Intel Visual Fortran 编译出的可执行文件(如exe)等,无法在 XP 上运行。

会提示类似这种错误:


原因大概就是微软希望用户都放弃使用 XP,用心良苦,呵呵。

但中国国情如此,还是有不少朋友在用XP的,网上找了很多解决方案,都是针对 C++ 工程的,有一个关于 Platform 的开关设置。但是 Intel Fortran 工程里没有这个设置,找了一圈也找不到相似的。

比较官方正式的解决方法是:
第一步:打开工程属性,在 Linker 选项,System 子项, Subsystem 项目,如有 for Windows XP 的选项,选择之。如没有,则修改为 NotSet,并进行第二步。

(如果你不知道什么是 Conosle,什么是 Windows,那么选 Console for Windows XP)



如果你的编译器里没有 Console for Windows XP 的选项,那么选择 NotSet,并进行第二步。

第二步:如果第一步,你选择的是 NotSet,那么在 Linker 选项,Command Line 下,添加以下开关:
Console 工程: /SUBSYSTEM:CONSOLE,"5.01"
QuickWin / Windows 工程:/SUBSYSTEM:WINDOWS,"5.01"


第三步:重新编译链接你的工程。

aliouying 发表于 2014-3-2 11:28:57

很有用~尤其是跨平台的时候

fcode 发表于 2014-3-10 22:31:53

已更新比较正式,比较官方的解决方案。

深流水静水流深 发表于 2016-4-16 09:18:00

页: [1]
查看完整版本: VS2012/2013 + IVF 编译出的程序无法在 XP 运行的解决办法