Com DllGetClassObject未导出(因此从未调用,也从未找到接口)

Com DllGetClassObject未导出(因此从未调用,也从未找到接口),com,dllexport,class-factory,Com,Dllexport,Class Factory,我正在尝试编写一个COM服务器和客户端。当我调用CoCreateInstance()时,COM引擎应该调用DllGetClassObject(),但它似乎从未被调用过(我将简单消息框放在所有其他功能之前,所以我确定它没有被调用) 经进一步检查,我发现它没有出口。我使用Dumpbin/EXPORTS 我的def文件是 LIBRARY ClassFactoryServer EXPORTS DllGetClassObject @100 PRIVATE DllCanUnloa

我正在尝试编写一个COM服务器和客户端。当我调用
CoCreateInstance()
时,COM引擎应该调用
DllGetClassObject()
,但它似乎从未被调用过(我将简单消息框放在所有其他功能之前,所以我确定它没有被调用)

经进一步检查,我发现它没有出口。我使用
Dumpbin/EXPORTS

我的def文件是

LIBRARY ClassFactoryServer
EXPORTS
    DllGetClassObject   @100     PRIVATE
    DllCanUnloadNow     @101     PRIVATE

我不知道这些为什么不出口。我不能使用
\uu declspec(dllexport)
出于已知的原因,还有其他使用
\pragma
的方法,但我已经准备好编写
.def
文件,但不知道为什么没有导出函数。

仔细检查.def文件是否已添加到项目中,并且链接器正在使用。一种确保的方法是:在文件中键入一些随机垃圾;如果未看到任何生成错误,则文件未被处理。啊。。你在钱上是对的!!我不知道为什么会这样。。简单地删除和重写文件就解决了这个问题。。非常感谢