具有 MFC 和静态链接的 Dll



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

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

如果"MFC 的常规 -> 使用"设置为"在静态库中使用 MFC",并将"C/C++ -> 代码生成 -> 运行时库"设置为多线程 (/MT) - 我有一个错误 #error Please use the /MD switch for _AFXDLL builds

有什么解决办法吗?我将不胜感激任何帮助。我在寻找答案很长时间,在很多地方都说第二种变体应该可以正常工作而没有错误。

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

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

最新更新