运行环境:在非MFC程序中,添加MFC支持,静态链接MFC库

这个问题经常出现在尝试使用Visual Studio 较高版本(2008,2010)编辑较低版本(Visual C++ 6.0)时使用“在静态库中使用MFC”的情况。在网上查找方法,无非是“改成在共享DLL中使用MFC”,或者将#include <afx.h>改成<atlstr.h>等方法。第二种不推荐,因为如果使用了afx.h中的函数和变量,atlstr.h没有怎么办?

解决方案:项目属性(Alt+F7)——C/C++——代码生成——

如果是Debug的“在静态库中使用MFC”,不要使用MDd,改用MTd,然后编译即可通过。
如果是Debug的“在共享DLL中使用MFC”,注意不要使用MTd,改用MDd;

如果是Release版本“在静态库中使用MFC”,不要使用MD,使用MT;
如果是Release版本的“在共享DLL中使用MFC”,不要使用MT,使用MD。

在本项目中配置如下:
右键项目属性——配置属性——高级——MFC的使用——在共享DLL中使用MFC
项目属性——C/C++——代码生成——使用MD

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐