0
我使用API来制作程序。它在Windows 7上运行得非常好(带有调试文件.exe),但在Windows XP上运行它时不会运行它。有什么方法可以解决这个问题吗?Win32项目(API):与其他版本的Windows的兼容性
我使用API来制作程序。它在Windows 7上运行得非常好(带有调试文件.exe),但在Windows XP上运行它时不会运行它。有什么方法可以解决这个问题吗?Win32项目(API):与其他版本的Windows的兼容性
我想你正在使用Visual C++,根据你得到的消息。
您的项目设置(默认情况下)以动态链接Microsoft C++ Runtime Librairy,因此它可以节省最终可执行文件中的空间,但需要动态链接库位于系统或可执行文件夹中。
为了在Visual C++中解决这个问题,无需承担谁在他们的机器上执行程序,您可以更改MSVC如何将其运行时库链接到可执行文件,也就是说,如果将它设置为静态链接,依赖关系将在您的最终.exe
内部链接,不需要额外的.dll
s。
要更改此选项,请参阅/MD, /MT, /LD (Use Run-Time Library) - MSDN。
或简称:项目属性>配置属性>C/C++>代码生成>运行时库
如果在调试模式下,使用/MTd
,否则使用/MT
。
当你在XP中运行它会发生什么?即你收到一些消息框吗?该程序使用什么编译器和版本?它是32位还是64位程序? – user1610015 2013-03-09 03:47:12
出现消息框。它说:“此应用程序未能启动,因为未找到MSVCR100D.dll。重新安装应用程序可能会解决此问题。” – suti 2013-03-09 04:21:08
您需要在XP机器上安装[Visual C++ 2010 Redistributable](http://www.microsoft.com/en-us/download/details.aspx?id=8328)。有关更多详细信息,请参阅[本次讨论](http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/3c9a5b9b-1a7d-4d86-bc82-85652448e0c9)。 – 2013-03-09 04:23:22