C++ 手动注册OCX文件

C++ 手动注册OCX文件,c++,dll,activex,C++,Dll,Activex,我使用vs2008开发了一个activex组件。我用MFC来开发它 我尝试使用命令手动注册组件 regsvr32 mycontrol.ocx但出现错误“加载库”失败。我确信这是因为依赖dll。我用dependency walker找到了DLL。现在我该怎么做才能让它工作。尝试将dll文件放在system32文件夹下,看看它是否工作,我的工作很好很可能您正在运行64位版本的regsvr32,而您的OCX是32位的。由于regsvr32将OCX DLL加载到其进程中,因此必须使用32位版本的regs

我使用vs2008开发了一个activex组件。我用MFC来开发它

我尝试使用命令手动注册组件


regsvr32 mycontrol.ocx但出现错误“加载库”失败。我确信这是因为依赖dll。我用dependency walker找到了DLL。现在我该怎么做才能让它工作。

尝试将dll文件放在system32文件夹下,看看它是否工作,我的工作很好

很可能您正在运行64位版本的regsvr32,而您的OCX是32位的。由于regsvr32将OCX DLL加载到其进程中,因此必须使用32位版本的regsvr32。这可以在C:\Windows\SysWOW64中找到。

我使用MFC作为静态链接编译了该项目,它解决了我的问题

因此您知道缺少哪些DLL,但不知道如何处理它?(我不确定我是否理解你的问题。)@Mat:我想我应该试试Mazhar所说的。这是个糟糕的建议。永远不要修改系统目录。它属于系统,您尊重它,不要管它。告诉我们,如果您有其他解决方案,我应该如何处理依赖的MFC dll?我应该使用MFC静态链接来编译我的解决方案吗?静态链接MFC当然是一种选择。如果动态链接到MFC,则需要将DLL部署到DLL搜索路径中的某个位置。但我怀疑,您当前的问题是由于在64位计算机上运行。当然,我有点猜测,因为你还没有证实这一点。