我是c ++的新手。我使用VS 2008 Professional制作了一个c ++程序。我开始使用为我创建窗口的Win32模板。我在Vista 32上编译了它。我将编译后的exe文件带到了我的旧XP sp2计算机,它告诉我应用程序配置不正确。有什么东西我做错了吗?如何使其与平台无关?
由于
答案 0 :(得分:2)
尝试安装Microsoft Visual C++ 2008 SP1 Redistributable Package并确保使用应用程序的发布版本。
答案 1 :(得分:1)
确保将WINVER设置为包含WinXP的版本 - 看起来VS 2008的Windows的默认目标版本是Vista(0x0600)。
设置以下预处理器定义:
#define WINVER 0x0501
最好使用项目属性“C / C ++ /预处理程序/预处理程序定义”或cl.exe命令行上的-D选项。也有可能是targetver.h文件具有此设置(取决于最初创建项目的方式)。
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/aa383745(VS.85).aspx。
答案 2 :(得分:0)
您的目标系统缺少该可执行文件所需的运行时文件。
您可以在Microsoft Visual C++ 2008 Redistributable Package (x86)或Microsoft Visual C++ 2008 SP1 Redistributable Package (x86)
找到它答案 3 :(得分:0)
您可以使用Dependency Walker查找目标WinXP系统上缺少哪些组件。然后你应该安装适当的可再发行组件。
答案 4 :(得分:0)
在项目属性中,将"C/C++ -> Code Generation -> Runtime Library"
设置为"Multi-threaded (Debug)"
。重建后,应用程序将不再依赖msvcr90.dll
。但是,应用程序二进制文件会稍大一些。