【发布时间】:2016-02-25 11:32:38
【问题描述】:
我想在 Visual Studio 2012 中使用 x86(32 位)的 OpenCV 库运行项目。我的电脑是 64 位的。
显示我的设置的一些屏幕:
当我运行应用程序 .exe 文件时 - 它以 32 位运行。 0xc000007b 代码出现奇怪的错误。
机器目标: 也设置为 X86。
我不知道发生了什么,但我读到错误 0xc000007b 与一些 32 - 64 位问题有关。
[编辑] VC++ 目录:
OpenCV 库路径: 该文件夹中有很多 opencv... 文件。
[已解决]
感谢 @Miki。我必须更改 Lib 和 System PATH 以指向 Visual Studio 2012 的 VC11 编译版本。所以这对我有用 "C:\openCV\build\x86\vc11\bin"
【问题讨论】:
-
最后一张截图没有显示平台是 x64,它显示您可以将 x64 创建为 new 平台。无论如何,Dependency Walker 会告诉您问题所在:您的应用程序引用了针对不同 CPU 类型的模块。您的应用使用的一个或多个库可能针对 x64。
-
请在配置属性 -> VC++ 目录下显示您的库目录
-
@Miki,我编辑了帖子并添加了屏幕
-
好的,你使用的是vc12编译器,它适用于VisualStudio 2013。由于你使用的是VisualStudio 2012,你需要使用vc11编译器。改为
... \vc11\lib -
确保不要在发行版中使用调试库,反之亦然。另外,你是把dll放到可执行文件夹中,还是把dll文件夹添加到系统PATH中?
标签: c++ opencv visual-studio-2012