今天用C++编写了一个ocx控件,在ocx控件 内部,又调用了第三方的lib,dll库,程序运行成功了,在本机上自动注册成功,但是在别的电脑上注册总是提示找不到指定模块
现将出现的各种情况简单归纳下,水平有限,勿喷
1、x86与x64不兼容错误---解决方案:32系统时,ocx插件要拷贝到system32路径下 64系统拷贝到sysWOW64文件下,以管理员的方式打开相对应操作系统下的cmd.exe,输入regsvr32 xxx.ocx即可
2、若第一步以后仍提示用户找不到指定模块,则可能的原因是ocx引用的DLL并未全部copy到system32或者sysWOW64路径下,用户可通过depends软件,到相应文件路径下,打开ocx,此时黄色的代表缺少dll,只需要copy指定dll到system32或者sysWOW64路径下,再次进行编译,就会发现注册成功
出现第2中情况时,一定要把第三方的库文件也拷贝到相应文件路径下才可注册/注销
PS:在今天ocx控件编写完成后,用C#调用时提示未注册类,原因是开发平台设置错误
工程→属性→修改下x86平台问题解决