为Windows XP编译的应用程序无法在Windows 7上运行

时间:2014-01-11 12:51:49

标签: c++ visual-c++ dll linker static-linking

我使用VC ++ 6.0为Windows XP创建了一个应用程序。应用程序在Windows XP上运行良好但是当我尝试运行此应用程序Windows 7时,它抱怨缺少像msvcrt.dll这样的DLL,msvcp60.dll我的用户不想在他们使用的每个系统上手动复制这些DLL。

那么如何在VC ++ 6.0上静态链接这些DLL,以便用户不必单独复制DLL。

2 个答案:

答案 0 :(得分:0)

您可以静态链接到C / CPP运行时库。

静态链接在C / C ++运行时上不具有DLL依赖性。如果您的应用程序是由多个DLL组成的,则必须确保内存不是在一个二进制文件中创建的,而是在另一个二进制文件中销毁。

修改 MFC可执行项目应该改变:

项目属性 - >一般 - >使用MFC
更改为“在静态库中使用MFC”

答案 1 :(得分:0)

选择项目/设置...

选择C / C ++标签

从组合框中选择代码生成

在“库”下,更改为多线程。