C ++:无法使用regsvr32注册我的DLL,但通过IDE工作

时间:2014-02-23 19:45:01

标签: c++ visual-studio-2012 dll com

我在VS2012中创建了一个COM ATL DLL。

当我让IDE编译它时,它会自动注册,我可以在我的开发者机器上使用它。

我尝试在干净的XP机器上注册DLL,并且regsvr32.exe返回

“LoadLibrary(”MyDll.dll“)失败。找不到该模块。”

我以为我创建了一个普通的COM DLL,而不是托管DLL,所以我想我可以使用regsv32.exe注册它,而不是REGASM。

我用“Multithreaded(/ MT)”选项编译了DLL,所以我想我不需要安装C ++运行时,对吧?

使用ProcMon我看到regsvr32.exe查找“atl110.DLL”。 我是否需要分发它,虽然我选择了“多线程(/ MT)”?

有没有人有任何想法我可能做错了什么?

感谢您的帮助。

编辑:抱歉,我首先错误输入了错误消息。

1 个答案:

答案 0 :(得分:2)

我已从

更改了项目属性

配置 - >常见 - >使用ATL:“动态链接到ATL”到“静态链接到ATL”。

这完成了这项工作。