关于封装MFC DLL疑问

zonghenglls 2008-02-22 05:04:31
我写了个MFC DLL,里面有一些接口,能不能用纯C++来调用它,我写了个控制台程序,引入头文件时报错,
include 'stdafx.h' before including this file for PCH
请问这个问题怎么解决
...全文
142 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zonghenglls 2008-02-25
  • 打赏
  • 举报
回复
去掉了杂七杂八的头文件,发现不用引入任何头文件,就能调用CoInitialize
谢谢两位了,这就结贴
zonghenglls 2008-02-25
  • 打赏
  • 举报
回复
网上找了无数种方法,到现在还是不知道怎么在控制台程序里初始化com
你们说的都试了,还是不行
arong1234 2008-02-25
  • 打赏
  • 举报
回复
'CoInitialize' 我记得缺省VC6就足够了,不需要修改颁本宏
  • 打赏
  • 举报
回复
你看看是不是需要什么版本宏设置.
arong1234 2008-02-25
  • 打赏
  • 举报
回复
MFC C++类库,你不使用C++
使用MFC能有啥好处啊?啥模型都不能用啊。而且你还得把所有和C++有关的特性藏起来,还是从API做,不要考虑封装了:)

至于CoIninitialize,你包含objbase.h应该就可以了,你是在报错的代码前面包含的?有没有其他错误?
zonghenglls 2008-02-25
  • 打赏
  • 举报
回复
error C2065: 'CoInitialize' : undeclared identifier
error C2065: 'CoInitializeEx' : undeclared identifier
error C2065: 'CoUninitialize' : undeclared identifier

我引入头文件Objbase.h链接了Ole232.lib还是编译不过
zonghenglls 2008-02-25
  • 打赏
  • 举报
回复
但是我原先写的用了很多MFC的类,如CString,如今写标准DLL,那我可能要改很多代码
zonghenglls 2008-02-25
  • 打赏
  • 举报
回复
恩,谢谢了。
  • 打赏
  • 举报
回复
有这些呢
CoInitialize
CoInitializeEx
CoUninitialize
zonghenglls 2008-02-25
  • 打赏
  • 举报
回复
用ADO 的话,在c++中AfxOleInit没办法初始化
  • 打赏
  • 举报
回复
纯C和stdafx.h没关系,这就是一个预编译的头文件.

C可以调用mfc appwizard dll写的DLL,代价是当你用C实现时候,写标准DLL写几百遍的时间都有了.
你还是包装成标准DLL吧,
zonghenglls 2008-02-24
  • 打赏
  • 举报
回复
我吧预编译选项去了,但是还是不行
问题是这样的,我要写一个操作数据库的DLL,并且这个DLL要提供给纯C语言调用
我想到了用ADO操作数据库,所以我用MFC Appwizard dll写好了接口,
然后就发现问题了,在纯C的那个模块里引入头文件时编译不过,我估计是因为纯C没引入stdafx,
所以我想知道用mfc appwizard dll写的DLL是不是只能被MFC框架下的程序调用,纯C或者c++是不是不能调用
jwybobo2007 2008-02-24
  • 打赏
  • 举报
回复
问题没描述清楚啊
ianok 2008-02-24
  • 打赏
  • 举报
回复
哦,那你去掉那个预编译选项
zonghenglls 2008-02-24
  • 打赏
  • 举报
回复
纯C哪来stdafx.h头文件哦
cnzdgs 2008-02-22
  • 打赏
  • 举报
回复
每个cpp文件应最先包含stdafx.h头文件。
  • 打赏
  • 举报
回复
我写了个MFC DLL,里面有一些接口,能不能用纯C++来调用它
有些能
第二个问题clean rebuild试试看

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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