我使用MSVC 2010构建了一个C++应用程序,默认编译设置(注意:使用“多线程”而不是“多线程DLL”以避免需要C++运行时)。
我只使用了STL和一些来自Windows.h(Windowss.h)的旧函数。
如果你有更多的信息,我会很高兴的!
发布于 2010-04-16 20:06:01
最简单的答案是:您的应用程序将运行在Windows5.0及更高版本-取决于您使用的其他API。
C++ 2008中引入了5的硬限制,它将5标记到它生成的所有可执行文件的所有PE头中的最小OS版本字段中。
由于Windows是唯一一个版本高于5的桌面操作系统,这意味着Windows 95、98、ME不能运行VS 2008和VS 2010的程序。Windows 2000实际上是WindowsNT5.0,因此可以将其作为目标。XP是5.1,Vista 6.0,还有一点愚蠢,Windows 7实际上是Windows的6.1版。
发布于 2010-04-16 19:57:44
看看MSDN上的“使用Windows报头”。它描述了如何配置windows头文件以支持各种操作系统的混合。
发布于 2010-04-16 20:05:08
我认为您必须从另一个角度来考虑,您需要支持哪些版本的Windows,然后您可以检查您所需的API是否被支持,或者您是否需要找到解决办法。在看到克里斯关于Win9x不再受支持的评论后,我看了一眼,发现2010年的redist包只支持WinXP和更高的版本,所以您现在可能也无法为Win 2000编译?
https://stackoverflow.com/questions/2655745
复制相似问题