一次在X64电脑上配置X86程序的坑(0xc000007)
程序在原电脑上编译后已经发布了release版本,其中用到了opencv库,原目标是在vxworks中运行
为了测试,现使用一台X64 win10系统PC运行
直接将exe文件及其文件复制过来,运行报错
0Xc000007
经查有三种原因
- .NET库3.5没装上
- directx要修复
- 使用SFC修复文件
在均使用无效后决定直接在机器上重新编译一个release版本
但是在Debug win32环境下编译会产生和直接打开一样的报错,而且生成是没有问题的。
使用Debug X64环境编译无法生成,报错为模式机与目标机不相容(X86 x64)
最后在排查中发现自己为了配置动态链接库,将opencv库中X64下的一些文件放到了SysWOWO64中,导致本应为32位的动态链接文件在读取时产生不相容报错。
最后将动态链接文件替换,Exe可以直接运行