带有MFC和静态链接的DLL

时间:2013-12-26 10:18:40

标签: c++ visual-c++ dll

我已经使用MFC,我需要它在没有额外的instalations的另一台计算机上工作。

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

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

有什么解决方案吗?我很感激任何帮助。我正在寻找答案很长一段时间,据说第二个变种应该没有错误。

2 个答案:

答案 0 :(得分:1)

您应以与图书馆相同的模式构建客户端。 图书馆员警告你。因此,要解决此错误 - 使用 / MD标志而不是/ MT

构建使用MFC库的客户端

答案 1 :(得分:0)

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