新建的MFC项目,导入DuiLib静态库出现无法解析的外部符号的问题,查看发现DuiLib选项里面已经定义了UILIB_STATIC,但是我的MFC项目并没有设置这个宏,导致导出类前面出现了__declspec(dllimport),UiLib.h里面定义如下
#ifdef UILIB_STATIC
# define DUILIB_API
#else
# if defined(UILIB_EXPORTS)
# if defined(_MSC_VER)
# define DUILIB_API __declspec(dllexport)
# else
# define DUILIB_API
# endif
# else
# if defined(_MSC_VER)
# define DUILIB_API __declspec(dllimport)
# else
# define DUILIB_API
# endif
# endif
#endif
解决办法是在自己的项目属性》C/C++》预处理定义里面添加UILIB_STATIC宏定义即可