请教,用“在静态库中使用 MFC”方式编译出错的问题,error C2039

lygwahaha 2006-02-24 05:33:16
以下代码在用“共享 DLL 中使用 MFC”方式可以编译通过。用“在静态库中使用 MFC”方式编译出错。错误信息是:
error C2039: “classCOleDropTarget” : 不是“COleDropTarget”的成员
error C2065: “classCOleDropTarget” : 未声明的标识符
请问这样才能用用“在静态库中使用 MFC”方式编译通过?谢谢!(编译环境vs2003,项目类型mfc应用程序)
mycls1.h
#pragma once
#include <afxole.h>

class Cmycls1 : public COleDropTarget
{
DECLARE_DYNCREATE(Cmycls1)
public:
Cmycls1(void);
~Cmycls1(void);
};
mycls1.cpp
#include "StdAfx.h"
#include ".\mycls1.h"

IMPLEMENT_DYNCREATE(Cmycls1, COleDropTarget)

Cmycls1::Cmycls1(void)
{
}

Cmycls1::~Cmycls1(void)
{
}
...全文
317 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tudou614 2006-03-02
  • 打赏
  • 举报
回复
mk
lygwahaha 2006-02-27
  • 打赏
  • 举报
回复
DentistryDoctor您好,为什么用IMPLEMENT_DYNCREATE(Cmycls1, COleDropTarget) 静态 编译会通不过?
DentistryDoctor 2006-02-24
  • 打赏
  • 举报
回复
IMPLEMENT_DYNCREATE(Cmycls1, COleDropTarget)
=>
IMPLEMENT_DYNCREATE(Cmycls1, CCmdTarget)
lygwahaha 2006-02-24
  • 打赏
  • 举报
回复
但是,我去掉DECLARE_DYNCREATE(Cmycls1)和IMPLEMENT_DYNCREATE(Cmycls1, COleDropTarget)就可以静态 编译通过了。
thisisll 2006-02-24
  • 打赏
  • 举报
回复
你调用的库有用 共享 DLL 中使用 MFC 这个的
所以你的工程不能用 静态的

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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