我使用MSVC 2010构建了一个C ++应用程序,默认编译设置(注意:使用“Multithreaded”而不是“Multithreaded DLL”来避免需要Microsoft C ++运行时)。
我只使用了WinL API(Windows.h)中的STL和一些旧函数。
如果你能加上一些额外的信息,我会很高兴的!
答案 0 :(得分:3)
最简单的答案是:您的应用程序将在Windows 5.0及更高版本上运行 - 具体取决于您使用的其他API。
在Visual C ++ 2008中引入了5.0的硬限制,它将5写入其生成的所有可执行文件的所有PE头中的最小OS版本字段。
由于Windows NT是唯一版本为5及更高版本的桌面操作系统,这意味着Windows 95,98,ME无法运行使用VS 2008和VS 2010制作的程序.Windows 2000实际上是Windows NT 5.0,因此它可以被定位。 XP是5.1,Vista 6.0,而且在愚蠢的情况下,Windows 7实际上是Windows NT的6.1版本。
答案 1 :(得分:1)
在MSDN上查看"Using the Windows Headers"。它描述了如何配置Windows头文件以支持各种OS的混合。
答案 2 :(得分:0)
我认为你必须考虑另一种方式,你需要支持哪些版本的Windows,然后你可以检查你需要的API是否受支持,或者你是否需要找到解决方法。 在看到Chris关于Win9x的评论不再得到支持后,我看了一下,发现2010 redist包只支持WinXP及以上版本,所以你现在可能无法为Win 2000编译?