如何直接导入idl文件?

snaill 2006-03-29 06:00:19
在一个COM中定义了一个IDL文件,将它拷贝到新的COM中,然后在在这个项目的IDL文件中添加
import "xx.idl";

编译缺少头文件,拷贝头文件都项目,编译说无法找到类型库

一般导入dll文件好像没有这样的问题,请问应该怎么导入idl文件?导入dll和导入idl不是应该一样的效果吗?
...全文
678 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
whtank 2006-05-22
  • 打赏
  • 举报
回复
可以把老的IDL 生成类型库,再在新的工程里引入这个库就可以了。
#import "libid: old type library uuid" named_guids no_implementation no_namespace raw_interfaces_only embedded_idl
snaill 2006-03-30
  • 打赏
  • 举报
回复
或者说,在一个项目里面多个idl文件,如何能在编译的时候让VS自动的对每一个idl文件都作生成.h/.c/.tlb/_p.c/_i.c的操作
snaill 2006-03-30
  • 打赏
  • 举报
回复
现在就是用新项目中的idl import老的idl,可是出现未定义的情况,好像是在_i.c中定义的,

我想知道的是,
能不能把idl中的定义在新的项目编译的时候直接生成这些文件,或者把需要生成的内容直接在新项目中idl生成的_i.c/.h中?
pomelowu 2006-03-30
  • 打赏
  • 举报
回复
简单点,直接用MIDL.exe命令行下就可以编译idl文件了。相应的.h/.c/.tlb/_p.c/_i.c都会生成。
yongdu 2006-03-30
  • 打赏
  • 举报
回复
idl文件只能在另一个idl中include

idl不能导入,但通过midl可以编译生成所需头文件和定义:将idl包含进工程,打开idl,Ctrl+F7即可生成对应头文件和代理/桩子等
pomelowu 2006-03-30
  • 打赏
  • 举报
回复
写个批处理。^_^

3,248

社区成员

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

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