使用“在静态库中使用 MFC”的静态库

开发工具:visual studio 2013 pro

一共是两个项目,一个是A:项目名称MySdk,静态库,多字节,在静态库中使用 MFC,运行库使用“多线程调试 DLL (/MDd)”;另一个是B:可执行程序,多字节,在静态库中使用 MFC,预处理器定义增加_AFXDLL,运行库使用“多线程调试 DLL (/MDd)”。

项目A的接口文件中:

#ifdef MYSDKINTERFACE_STATIC
#define MYSDKINTERFACE_API
#else
#ifdef MYSDKINTERFACE_EXPORTS
#define MYSDKINTERFACE_API __declspec(dllexport)
#else
#define MYSDKINTERFACE_API __declspec(dllimport)
#endif
#endif // MYSDKINTERFACE_STATIC

项目A的预处理器定义增加MYSDKINTERFACE_STATIC;项目B的预处理器定义增加MYSDKINTERFACE_STATIC,附加依赖项增加MySdk.lib,输入库目录增加lib所在目录即可。

MySdk分配的内存需要自己释放,不建议在exe中释放。

原文地址:https://www.cnblogs.com/yunhaisoft/p/5745901.html