Jon*_*age 6 c++ windows-xp cross-platform compilation windows-7
我正在运行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;
}
Run Code Online (Sandbox Code Playgroud)
我在某处读到定义几个常量如WINVER应该允许我为其他平台编译.我已经尝试将以下内容添加到我的/D编译器选项中:
;WINVER=0x0501;_WIN32_WINNT 0x0501;NTDDI_VERSION=NTDDI_WINXP
Run Code Online (Sandbox Code Playgroud)
但这没有任何区别.当我在我的Windows XP机器上运行它(实际上在虚拟机中运行)时,我收到以下错误:
此应用程序无法启动,因为应用程序配置不正确.重新安装应用程序可能会解决此问题.
那么我错过了什么?是否还需要运行MSVC编译的程序或其他编译器选项或其他东西?
Mic*_*sen 10
您错过的很可能是VC++程序需要安装运行时(除非您静态链接,这不是默认设置) - 您显示的错误消息正是您得到的错误消息.
尝试在XP计算机上安装Microsoft Visual C++ 2008 SP1 Redistributable Pack - 您很可能会看到您的程序无需任何更改即可运行.