gpt4 book ai didi

c++ - 将 DLL 制作成 COM 组件

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:30:19 25 4
gpt4 key购买 nike

我是 COM 的新手,所以这可能是一个愚蠢的问题,但我还是会问的。 :)

据我所知,为了制作 DLL COM,我们需要在 .idl 文件中定义其接口(interface),使用 MIDL 编译器对其进行编译,然后简单地实现使用已定义接口(interface)的类。然后我们需要公开DllRegisterServerDllUnregisterServerDllGetClassObject。而且应该够了吧?

但是我做了所有这些,当我尝试在客户端 C++ 程序中检查它时,我的 Visual Studio 说(在#import 语句中)找不到 tlh 文件...

这是我的 .idl 的样子:

import "someIdl.idl";

[
uuid(some-guid-Num1),
version(1.0),
helpstring("The library's description")
]
library LibName
{
importlib("stdole2.tlb");
[
uuid(some-guid-Num2),
helpstring("Some Description")
]
coclass ClassName
{
interface Interface_defined_in_someIdl;
}
};

我是否遗漏了 .idl 中的某些内容?我是不是弄错了 COM 制作过程?

最佳答案

问题是我没有将 TLB 文件作为资源嵌入到 DLL 中。

关于c++ - 将 DLL 制作成 COM 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13156954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com