我正在运行
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 – 您很可能会看到您的程序无需任何更改即可运行.