2014-01-11 86 views
-1

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

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

回答

0

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

静态链接不会在C/C++运行库上产生DLL依赖关系。如果您的应用程序由多个DLL构成,则必须确保内存不是以一个二进制文件创建,而是在另一个二进制文件中销毁。

编辑: MFC可执行项目应改变:

项目属性 - >常规 - >使用MFC的
更改为 “使用MFC的静态库”

+0

静态链接库意味着添加/ MT到我的项目options.But使用/ MT给我一个错误。它说“使用/ MD开关为_afxdll”。删除_afxdll会影响我的程序吗? – user3185008

+0

MFC DLL需要/ MD。如果您只有可执行文件,请检查更新后的答案 – egur

0

选择项目/设置...

选择C/C++标签

选择代码生成从组合框中

在库下,更改为多线程。

相关问题