ATL里使用静态库的问题

IID 2002-06-17 09:06:34
我的工程里需要调用MFC编写的静态库,我试作了一个MFC的Dialog工程,连接静态库,编联和调用库函数都没问题。
可是在ATL工程里(支持MFC)使用,工程设置general选项里选用支持USING MFC AS A STAIC DLL总是出现如下类似错误:
Linking...
nafxcwd.lib(afxmem.obj) : error LNK2005: "public: static void __stdcall CObject::operator delete(void *)" (??3CObject@@SGXPAX@Z) already defined in Gm30XStatic.lib(testgraphx.obj)
nafxcwd.lib(objcore.obj) : error LNK2005: "public: virtual void __thiscall CObject::AssertValid(void)const " (?AssertValid@CObject@@UBEXXZ) already defined in Gm30XStatic.lib(TRUEFONT.OBJ)
nafxcwd.lib(objcore.obj) : error LNK2005: "public: virtual void __thiscall CObject::Dump(class CDumpContext &)const " (?Dump@CObject@@UBEXAAVCDumpContext@@@Z) already defined in Gm30XStatic.lib(TRUEFONT.OBJ)
nafxcwd.lib(afxinl1.obj) : error LNK2005: "public: virtual __thiscall CObject::~CObject(void)" (??1CObject@@UAE@XZ) already defined in Gm30XStatic.lib(TRUEFONT.OBJ)
好象是重定义的问题.
使用工程设置general选项里选用支持USING MFC AS A SHARED DLL 会弹出一个ATLASSERT ,说是在注册时atlbase.h的5808行出错,我查了一下果然有ATLASSERT ,接着忽略掉,还会弹出一个ATLASSERT,再忽略编译结束。显示没有错误。

不知哪位仁兄遇到过类似问题,或对此问题有独到见解,小第深表感激!
...全文
93 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
daehappy 2002-07-07
  • 打赏
  • 举报
回复
up!gz!

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧