c – 如何在Windows 7 / visual studio 2008下编译Windows XP

我正在运行 Windows 7和Visual Studio 2008 Pro并尝试让我的应用程序在Windows XP SP3上运行.

这是一个非常小的命令行程序,所以应该有任何荒谬的依赖:

// XPBuild.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


int _tmain(int argc,_TCHAR* argv[])
{
    printf("Hello world");
    getchar();
    return 0;
}

我在某处读到defining several constants such as WINVER应该允许我为其他平台编译.我已经尝试将以下内容添加到my / D编译器选项中:

;WINVER=0x0501;_WIN32_WINNT 0x0501;NTDDI_VERSION=NTDDI_WINXP

但这没有任何区别.当我在我的Windows XP机器上运行它(实际上在virtualbox中运行)时,我收到以下错误

This application has Failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.

那么我错过了什么?是否还需要运行MSVC编译的程序或其他编译器选项或其他东西?

解决方法

您错过的很可能是VC程序需要安装运行时(除非您静态链接,这不是认设置) – 您显示错误消息正是您无法获得的错误消息.

尝试在XP机器上安装Microsoft Visual C++ 2008 SP1 Redistributable Pack – 您很可能会看到您的程序无需任何更改即可运行.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...