C++ 带有MFC和静态链接的Dll

C++ 带有MFC和静态链接的Dll,c++,visual-c++,dll,C++,Visual C++,Dll,我有使用MFC的dll,我需要它在另一台计算机上工作,无需额外安装 如果“C/C++->代码生成->运行库”是多线程DLL(/MD),并且“常规->使用MFC”设置为在共享DLL中使用MFC,则我的DLL需要msvcr80.DLL 如果将“General->Use of MFC”设置为在静态库中使用MFC,将“C/C++->代码生成->运行库”设置为多线程(/MT),则我有一个错误 #错误请使用/MD开关进行_afxdl构建 有什么解决办法吗?我非常感谢你的帮助。我搜索答案已经很久了,在很多地方

我有使用MFC的dll,我需要它在另一台计算机上工作,无需额外安装

如果“C/C++->代码生成->运行库”是多线程DLL(/MD),并且“常规->使用MFC”设置为在共享DLL中使用MFC,则我的DLL需要msvcr80.DLL

如果将“General->Use of MFC”设置为在静态库中使用MFC,将“C/C++->代码生成->运行库”设置为多线程(/MT),则我有一个错误
#错误请使用/MD开关进行_afxdl构建


有什么解决办法吗?我非常感谢你的帮助。我搜索答案已经很久了,在很多地方都说第二个变体应该可以正常工作。

MFC扩展DLL必须与MFC的DLL版本链接。只有MFC应用程序可以静态链接到MFC框架。

您应该以与库相同的模式构建客户端。
图书管理员警告你这一点。因此,要解决此错误,请构建使用MFC lib(带有/MD flag而不是/MT

的客户端,并且msvcr80.dll将另外安装在另一台计算机上,对吗?取决于链接类型:如果是静态的,则在dll中不需要,否则为动态的)-这样的dll应该随应用程序一起提供。在我的情况下,静态是不可能的?选择将MFC用作静态链接库的选项。我在问题中写道:“如果将“General->use of MFC”设置为在静态库中使用MFC,并将“C/C++->Code Generation->Runtime library”设置为多线程(/MT)-我有一个错误#错误请对_afxdellbuilds使用/MD开关”