使用OpenCV的程序,运行报错提示0xc000007b,原因:
通常来说OpenCV运行时需要dll,把opencv的dll放到PATH中是需要的,或者手动拷贝dll到执行的目录。而如果安装了多个版本的OpenCV,并且当前版本的OpenCV需要的dll没加入到PATH,那么匹配到错误版本opencv的dll就会导致报0xc000007b。
解决:添加对应版本的OpenCV的dll目录到PATH环境变量。例如我的是
D:libopencv2.4.13.6x86vc12in
实际上,这个错误码,对应着是dll错误,也就是dll版本不匹配。如果换了各种opencv等依赖库的dll都还是不行,不妨试试安装VS2017,勾选里面的WIN8.1 SDK。然后就好了。
P.S.
一个相关现象:没有修复的时候,用360解压双击打开里面的文件 也会提示报错。
XTJ的记录:
发现之前程序一直报错的0xc00007b的原因,是WindowsSDK 8.1出了问题。
表现症状,均提示0xc000007b。
(1)VS2013打开时崩溃,提示0xc000007b。修复vs2013时提示WindowsSDK 8.1出了问题。
(2)vs2017打开心率程序x86的landmark库无法运行,提示0xc000007b,x64没有问题。要了新的x86的landmark也无法运行。
(3)之前vs2017生成的x86平台exe无法运行,,提示0xc000007b。