使用VC调用COM时,Link时报错,找不到接口入口

pinerpu 2002-08-18 06:39:19
我在程序中调用COM接口,Link是报以下错误

error LNK2001: unresolved external symbol _IID_ICamShift
error LNK2001: unresolved external symbol _CLSID_CamShift

请教哪位高手,帮助解决一下。谢!
...全文
25 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunbo 2002-08-20
  • 打赏
  • 举报
回复
你的COM接口是谁给你的,还是自已建的,
提供的人应该给你一个.exe或.dll或.tlb。
不知道的话,到注册表搜索一下GUID
sunbo 2002-08-20
  • 打赏
  • 举报
回复
搜索到的话,
#import 进来

有 include 文件也行,也没有这个吗?
pinerpu 2002-08-19
  • 打赏
  • 举报
回复
FFXI(黑) :找不到你说的那个文件
pinerpu 2002-08-19
  • 打赏
  • 举报
回复
gularess(无吃哪拉) :能不能说详细些
volcary 2002-08-19
  • 打赏
  • 举报
回复
将"组件名_i.c"文件中的IID_ICamShift 和 CLSID_ICamShift的定义COPY到你调用COM的文件头部就可以了
FFXI 2002-08-19
  • 打赏
  • 举报
回复
#import "xxx.tlb" named_guids

xxx.tlb 是包含ICamShift接口的类型库
gularess 2002-08-19
  • 打赏
  • 举报
回复
利用MIDL工具可以通过.idl文件产生c头文件,有一个.c文件中包含IID,CLSID的定义,如果没有,IID IID_ICamShift={.....};把IID,CLDIS自己写进去!
pinerpu 2002-08-19
  • 打赏
  • 举报
回复
???什么ok了?

ADO是可以那样用,但不是所有的com都有.dll,我这个就没有
phonlee 2002-08-19
  • 打赏
  • 举报
回复
1 rebuild all ,OK
PagiHi 2002-08-19
  • 打赏
  • 举报
回复
采用#import指令导入组件库来调用COM接口多好啊,根本不会涉及clsid等。使用智能指针接口还不用关心引用次数,强烈推荐使用。比如使用ADO组件,可以这样:
#import "c:\Program files\common files\system\ado\msado15.dll" rename("EOF","adoEOF")
pinerpu 2002-08-18
  • 打赏
  • 举报
回复
高手在哪里?

3,245

社区成员

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

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