Com DllGetClassObject未导出(因此从未调用,也从未找到接口)
我正在尝试编写一个COM服务器和客户端。当我调用Com DllGetClassObject未导出(因此从未调用,也从未找到接口),com,dllexport,class-factory,Com,Dllexport,Class Factory,我正在尝试编写一个COM服务器和客户端。当我调用CoCreateInstance()时,COM引擎应该调用DllGetClassObject(),但它似乎从未被调用过(我将简单消息框放在所有其他功能之前,所以我确定它没有被调用) 经进一步检查,我发现它没有出口。我使用Dumpbin/EXPORTS 我的def文件是 LIBRARY ClassFactoryServer EXPORTS DllGetClassObject @100 PRIVATE DllCanUnloa
CoCreateInstance()
时,COM引擎应该调用DllGetClassObject()
,但它似乎从未被调用过(我将简单消息框放在所有其他功能之前,所以我确定它没有被调用)
经进一步检查,我发现它没有出口。我使用Dumpbin/EXPORTS
我的def文件是
LIBRARY ClassFactoryServer
EXPORTS
DllGetClassObject @100 PRIVATE
DllCanUnloadNow @101 PRIVATE
我不知道这些为什么不出口。我不能使用
\uu declspec(dllexport)
出于已知的原因,还有其他使用\pragma
的方法,但我已经准备好编写.def
文件,但不知道为什么没有导出函数。仔细检查.def文件是否已添加到项目中,并且链接器正在使用。一种确保的方法是:在文件中键入一些随机垃圾;如果未看到任何生成错误,则文件未被处理。啊。。你在钱上是对的!!我不知道为什么会这样。。简单地删除和重写文件就解决了这个问题。。非常感谢